序列化前格式式:
var serializeValue = "txtName=张三&slOption=2&rdType=1&ckType=B&ckType=C";
想要的格式:
var jsonData = {
txtName: "张三",
slOption: "2",
rdType: "1",
ckType: "B,C"
};
注:js方式转换
jquery form插件有这种功能
您好,感谢你对问题的回答,jquery form这个插件转换出来的结果不是我想要的结果,麻烦您看下问题再,有好的解决方法可以再次交流。
ckType=B&ckType=C 就最后这个特别了点
自已写个正则匹配。
参考这个
var request = {
QueryString : function(val){
var uri = window.location.search;
var re = new RegExp(""+val+"=([^&?]*)", "ig");
return ((uri.match(re))?(uri.match(re)[0].substr(val.length+1)):null);
}
}
var p = request.QueryString("id");
alert(p)
自己写个啊。。这很难吗?又不是多复杂的对象,只是KV类型的
这阵子有些忙,没整。呵呵想写个通用的,以后可以直接把form中的数据转换为json提交到服务端
唉!别搞那么复杂,直接用split搞定:
var serializeValue = "txtName=张三&slOption=2&rdType=1&ckType=B&ckType=C"; serializeValue = serializeValue.split("&"); var jsonData = {}; for(var i = serializeValue.length -1 ; i >= 0 ; i-- ){ var tmp = serializeValue[i].split("="); jsonData[tmp[0]] = tmp[1]; } console.log(jsonData);
mvc是有可以直接转换为Json格式的,不知道你用的是什么。我倒是经常有自己拼Json串
asp.net MVC与客户端交互时可以直接把一个对象以json格式返回到客户端,有个项目用的asp.net WebForm方式,与服务器交互数据时想把form中的数据以json格式提交,有通用的写法吗?
如果你使用的是jquery,可以直接使用函数:serialize()
看看这个链接吧:http://www.w3school.com.cn/jquery/ajax_serialize.asp
使用双split。
先split('&'),拆成一个一个的;再对每个使用split('='),拆成两部分,前部分就是key,后部分就是value