有对象数据如下
var param = {
name:'zhangsan',
sex:'male',
extra:'中文'
}
可存在如下序列化方法
- jquery.param(),不适合含有嵌套对象、数组的对象
name=zhangsan&sex=male&extra=%E4%B8%AD%E6%96%87
所以若是包含复杂嵌套对象或数组,如如下数据
var params = {
name:'zhangsan',
sex:'male',
ext:'中文',
arr:[
{
id:'1'
},
{
id:'2'
}
]
}
- 结合JSON.stringify()使用
var params = {
name:'zhangsan',
sex:'male',
ext:'中文'
}
var arr = [];
var arr1 = {};
arr1["id"] = '1';
var arr2 = {};
arr2["id"] = '二';
arr.push(arr1);
arr.push(arr2);
console.log(jquery.param(params););
console.log(JSON.stringify(arr));
打印结果是:
name=zhangsan&sex=male&ext=%E4%B8%AD%E6%96%87
[{"id":"1"},{"id":"二"}]
由于JSON.stringify()不会对中文进行URL编码,所以value存在中文时还需要使用方法 encodeURIComponent
网友评论