为了账号安全,请及时绑定邮箱和手机立即绑定

在struts2中,接受ajax传的json对象集合,接受不到?

在struts2中,接受ajax传的json对象集合,接受不到?

慕虎7371278 2019-02-13 20:11:01
在struts2中,接受ajax传的json对象集合,接受不到
查看完整描述

2 回答

?
潇潇雨雨

TA贡献1833条经验 获得超4个赞

不知道你解决了没有。我刚好遇到这个问题,基本上和你差不多。
你这个实际上是复杂数据传递。
因为你的json中又包含了JsonArray,array中又存储了json对象......
因为你是采用jquery的Ajax进行传递的,但是jquery的ajax和struts并不是很兼容,传递过去的值,根本无法被被正确的解析。那么如何解决这个问题呢?
这样改
var myparam = var myparam = JSON.stringify(
{
'userName' : '薛军军',
'sex' : '男',
'others' : '其他值',
'jsonTest':[{'t_id':'sd','t_name':'trs'},{'t_id':'sd','t_name':'trs'}]
},
);
$.ajax({
type:"POST",
async:false,
url :"<%=basePath%>pages/User/getUserObj.action",
data : myparam,
dataType : "text",
success : function(data) {
alert(data);
}

});
这样就向后台传递了正确的json对象。
但是现在后台还无法正确接收对象,还需要配置struts.xml,在你的包中,action前面加上拦截器
<interceptors>
<interceptor-stack name="myStack">
<interceptor-ref name="json"></interceptor-ref>
<interceptor-ref name="defaultStack" />
</interceptor-stack>
</interceptors>
<default-interceptor-ref name="myStack" />
好了,这样就应该可以了



查看完整回答
反对 回复 2019-02-28
?
慕田峪7331174

TA贡献1828条经验 获得超13个赞

dataType : "text",

你 的ajax 参数 是 json 格式 这里 用 text 文本类型 发送 肯定是不对的吧

你 该 成 json 试试

查看完整回答
反对 回复 2019-02-28
  • 2 回答
  • 0 关注
  • 561 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信