js序列化数组用于ajax提交数据

Posted 孤独的DNA

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js序列化数组用于ajax提交数据相关的知识,希望对你有一定的参考价值。

但我们要用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的方式发生就可以了

 

 


以上是关于js序列化数组用于ajax提交数据的主要内容,如果未能解决你的问题,请参考以下文章

Jquery表单序列化后添加数据

Bootstrap + Thymeleaf——预约维修前端页面设计(UI + JS数据校验 + JSON序列化 + AJAX提交)DEMO

spring mvc接收ajax提交的JSON数据,并反序列化为对象

表单提交/节点后防止页面重新加载(没有可用的 ajax)

jQuery ajax 用变量序列化

使用jquery.form.js提交表单上传文件