ajax传递给后台数组参数方式

业务需要,有时候需要我们前端传递给后台数组方式,普通的方式显而无法满足要求,那么问题来了,我们如何传递数组给服务端?废话不说,直接上代码。
<pre>
$(function() {
var params = {
name: 'admin',
address: {
province: '浙江',
city: '杭州'
},
fids: [1, 2],
friends: [{
name: '张三',
age: 10
}, {
name: '李四',
age: 15
}]
};
$.ajax({
url: '后台接口地址',
type: 'GET',
data: $.param(serializeObjects(params)),
traditional: true,
success: function(result) {
// 成功函数
},
error: function() {
console.log('error');
}
});
// 对参数进行特殊转化
function serializeObjects(params) {
var obj = {};
for (var k in params) {
var o = params[k];
if ('[object Array]' === Object.prototype.toString.call(o))
for (var i = 0; i < o.length; i++) {
var o1 = o[i];
if ('[object Object]' === Object.prototype.toString.call(o1))
for (var k1 in o1) obj[(k + '[' + i + '].' + k1).toString()] = o1[k1];
else obj[(k + '[' + i + ']').toString()] = o1;
} else if ('[object Object]' === Object.prototype.toString.call(o))
for (var k2 in o) obj[(k + '.' + k2).toString()] = o[k2];
else obj[k.toString()] = o;
}
return obj;
}
})
</pre>
github相关链接:https://github.com/sosout/webPit/blob/master/demos/201612151116.html
个人博客:http://www.sosout.com/

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 172,930评论 25 708
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,853评论 18 139
  • 明于微而昧于巨 大本大源大局大纲 所谓政治,就是把拥护我们的人搞得多多的,把反对我们的人搞得少少的。
    又穷又懒阅读 1,544评论 0 0
  • 今天一大早就起来上体育课,大学的体育课当然比小时候轻松很多,简单做完热身就自由活动了。 我们的身体越长越成熟,骨骼...
    Crust阅读 247评论 0 0
  • 窗外散落着故乡和一些零星的回忆 有一点令人窒息 形色各异的群众里我仿佛在握着过去和未来 毫无意义而又无比重要 我失...
    花朵Vame阅读 277评论 0 1