读书人

Jquery.Ajax data有关问题

发布时间: 2013-07-11 15:38:46 作者: rapoo

Jquery.Ajax data问题
Jquery代码如下
$.ajax({
url:"",
type:"post",
data:{name:"aaa",roles:["r1","r2"]},
success:function(ret){

}
});

按照W3C里面对data参数的说明,

引用
"如果为数组,jQuery 将自动为不同值对应同一个名称。如 {foo:["bar1", "bar2"]} 转换为 '&foo=bar1&foo=bar2'。"


实际上在提交数据的时候,这里生成的确实 roles[]=r1和roles[]=r2
这里参数后面多出了个[]。
请问这是怎么回事?要怎么解决这种问题?

[解决办法]
jQuery.param,序列化数据核心是这个方法,出现[]是为了满足php等语言用的,设置jQuery.ajaxSettings.traditional = true; 禁用出现[]

具体说明自己看jQuery.param的说明
jQuery.ajaxSettings.traditional = true; /////

$.ajax({
url:"",
type:"post",
data:{name:"aaa",roles:["r1","r2"]},
success:function(ret){

}
});

读书人网 >JavaScript

热点推荐