开发者社区> 问答> 正文

JFinal的action里面如何获取ajax请求传递的JSon数据? 400 报错

JFinal的action里面如何获取ajax请求传递的JSon数据? 400 报错

JFinal中通过AJAX请求action ,如何在action中获取传递的JSon数据。

我在action中用getPara("pUser")的方式获取不到传递的值,求大神指导改如何获取ajax传递的pUser的值。

展开
收起
优选2 2020-06-09 11:10:50 680 0
1 条回答
写回答
取消 提交回答
  • data参数不是你这样写的吧

    data:{

    pUser:jsondata

    }

    好像是这个样子的吧。

    ######可以这样写,语法没问题######正解~######data:json=jsondata######data必须为Key/Value格式,类似于你get请求后附加的参数param1=1&param2=3######直接getPara("pUser")啊。如果你的是对象的话你就data:{"pUser.name":"xxx","pUser.ID":"xxx"}######先看一下控制台中的JFinalactionreport,确保para是有值的,如果有值,使用getPara必定能获取到,如果没有值,则证明前端请求有错误######

    引用来自“JFinal”的答案

    先看一下控制台中的JFinalactionreport,确保para是有值的,如果有值,使用getPara必定能获取到,如果没有值,则证明前端请求有错误

    您好,控制台的JFinalactionreport显示没有参数值,如图:

    但是用Chrome调试工具可以看到有发送请求参数,如图:

    而我ajax请求换种方式,在url中传参数,就会有值,如图:

    但是下面这种方式如果参数中有“/”的话,就不行。但是用上面那种传参又获取不到值,不知道为什么。麻烦大神帮忙看看。


    ######urlPara中不能包含"/"字符,因为"/"是controllerKey、method、urlPara的分隔符。使用POST请求,将数据通过input域传递过来即可。如果想在url中传递包含"/"的参数,可以使用问号挂参的形式,如:/action?go=http://abc.com######我这个不是表单提交是ajax异步下载附件ajax参数传递的是附件路经但通过上面那种方式传递参数在action里面获取不到不知道为什么######

    引用来自“逝风123”的答案

    我这个不是表单提交是ajax异步下载附件ajax参数传递的是附件路经但通过上面那种方式传递参数在action里面获取不到不知道为什么 ajaxpost提交即可,注意不在url中传参,并非表单提交######

    引用来自“JFinal”的答案

    引用来自“逝风123”的答案

    我这个不是表单提交是ajax异步下载附件ajax参数传递的是附件路经但通过上面那种方式传递参数在action里面获取不到不知道为什么 ajaxpost提交即可,注意不在url中传参,并非表单提交 就是没有表单提交也没有在ajax请求的url中传参采用data的方式传参但获取不到值######这种情况即使是使用最基本的servlet技术也接收不到数据,因为JFinal对POST请求未做任何处理,仅仅是转调了HttpServletRequest.getParameter(...)方法而已。JFinalActionReport中都不显示有数据过来,唯一的可能是前端有错误,看下请求是否被重定向过了
    2020-06-09 11:11:09
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载

相关实验场景

更多