jquery1.4.2 post传递数组 struts2报错的解决 ONGL

摘要:
jquery提交数组,会是这个样子:ids[]=5, ids[]=6, ids[]=7
问题的原因就在这里了,如果提交的是js数组,jquery擅自在提交参数后添加了“[]”
然后struts的拦截器就报:ONGL解析异常

网上搜到和我一样的问题
http://scorpio-jh.blog.sohu.com/150360289.html
但他是改源码,我不习惯这样去做,就仔细翻了下文档,发现可以这样去做。

mydata=[1,2,3];
$.ajax({
url: "xxx.action",
type:"post",
dataType:"json",
data:jQuery.param(mydata,true),//重点
后面省略

用jQuery.param的最后那个参数去解决,仔细看文档的这个方法后面的例子

var myObject = {
a: {
one: 1,
two: 2,
three: 3
},
b: [1,2,3]
};
var recursiveEncoded = $.param(myObject);
var recursiveDecoded = decodeURIComponent($.param(myObject));

alert(recursiveEncoded);
alert(recursiveDecoded);
//a%5Bone%5D=1&a%5Btwo%5D=2&a%5Bthree%5D=3&b%5B%5D=1&b%5B%5D=2&b%5B%5D=3
//a[one]=1&a[two]=2&a[three]=3&b[]=1&b[]=2&b[]=3

var shallowEncoded = $.param(myObject, true);
var shallowDecoded = decodeURIComponent(shallowEncoded);

alert(shallowEncoded);
alert(shallowDecoded);
//a=%5Bobject+Object%5D&b=1&b=2&b=3
//a=[object+Object]&b=1&b=2&b=3

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值