首页 新闻 会员 周边

表单提交时想序列化表单对象为Json,求解决?求高手?

0
[待解决问题]

序列化前格式式:

var serializeValue = "txtName=张三&slOption=2&rdType=1&ckType=B&ckType=C";

想要的格式:
var jsonData = {
txtName: "张三",
slOption: "2",
rdType: "1",
ckType: "B,C"
};

注:js方式转换

reckcn的主页 reckcn | 菜鸟二级 | 园豆:202
提问于:2014-05-19 17:36
< >
分享
所有回答(7)
-1

jquery form插件有这种功能

Devin Mao | 园豆:596 (小虾三级) | 2014-05-19 17:37

您好,感谢你对问题的回答,jquery form这个插件转换出来的结果不是我想要的结果,麻烦您看下问题再,有好的解决方法可以再次交流。

支持(0) 反对(0) reckcn | 园豆:202 (菜鸟二级) | 2014-05-19 17:50
-1

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)

cclient | 园豆:264 (菜鸟二级) | 2014-05-19 17:59
0

自己写个啊。。这很难吗?又不是多复杂的对象,只是KV类型的

56180825 | 园豆:1756 (小虾三级) | 2014-05-19 19:24

这阵子有些忙,没整。呵呵想写个通用的,以后可以直接把form中的数据转换为json提交到服务端

支持(0) 反对(0) reckcn | 园豆:202 (菜鸟二级) | 2014-05-20 20:19
0

唉!别搞那么复杂,直接用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);
zernmal | 园豆:312 (菜鸟二级) | 2014-05-20 00:12
0

mvc是有可以直接转换为Json格式的,不知道你用的是什么。我倒是经常有自己拼Json串

天青色丶等烟雨 | 园豆:202 (菜鸟二级) | 2014-05-20 14:34

asp.net MVC与客户端交互时可以直接把一个对象以json格式返回到客户端,有个项目用的asp.net WebForm方式,与服务器交互数据时想把form中的数据以json格式提交,有通用的写法吗?

支持(0) 反对(0) reckcn | 园豆:202 (菜鸟二级) | 2014-05-20 20:17
0

如果你使用的是jquery,可以直接使用函数:serialize()

看看这个链接吧:http://www.w3school.com.cn/jquery/ajax_serialize.asp

红豆依旧在 | 园豆:209 (菜鸟二级) | 2014-08-30 13:11
0

使用双split。

先split('&'),拆成一个一个的;再对每个使用split('='),拆成两部分,前部分就是key,后部分就是value

十年灯 | 园豆:356 (菜鸟二级) | 2014-11-19 17:44
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册