但我们要用ajajx提交类似于:
array('id' =>12,data => array('a'=>1,'b'=>2));
这样的二维数组的数据时,直接ajax提交后台是接收不到的,需要特殊处理下:
//这里只能处理二维数组数据,多维的需在做循环或递归
function serialize_data(obj){
var str = '';
for(var i in obj){
if(typeof(obj[i]) === 'object'){
for(var s in obj[i]){
str = str + i+'['+ s + ']' + '=' + obj[i][s] + '&';
}
}else{
str = str + i + '=' + obj[i] + '&';
}
}
return encodeURI(str);
}
实际上就是类似于这样的url请求:
http://192.168.0.63/index,php?id=12&data[a]=1&data[b]=2
用于请求的时候其实可以使用:
var str = URIencode('id=12&data[a]=1&data[b]=2');
然后将str用POST或者GET的方式发生就可以了