比如说原来的参数是通过网址面加参数值来传递的,那么现在我有username='admin'&id='1112'&telephone='1367678976'这个参数,在jquery中又没有函数将这种类型的字符串转换为json格式呢?
你想把这个username='admin'&id='1112'&telephone='1367678976'变成这样的吗?---》
{username:"admin", id:"1112", telephone:"1367678976"}
你这种格式也是可以通过post的方法传值的
自己拓展一下呗,不过一般url传参不会太多,没必要
多的h话用json传递吗?
@mcfer: jquery ajax有post和get的方法,都可以用json传值,多的话一般post
非要用的话
//获取get参数,即获取url传参,json格式 function request() { var url = location.href; url=decodeURIComponent(url); var paraString = url.substring(url.indexOf("?") + 1, url.length).split("&"); var paraObj = {} for (i = 0; j = paraString[i]; i++) { paraObj[j.substring(0, j.indexOf("=")).toLowerCase()] = j.substring(j.indexOf("=") + 1, j.length); } return paraObj; }
@天命辉煌:
情况是这样的:
在前台表单中,通过
var data = $("#form1").serializeArray();
var str=JSON.stringify(data);获取到了表单对象的序列化字符串如
str='[{"name":"username","value":"555"},{"name":"password","value":"666"},{"name":"telephone","value":"7"}]'
那么我在后台怎么对这个字符串进行解析呢?
@mcfer: 从request中取啊,如果是C#的话
Request.Form["username"] Request.Form["password"] Request.Form["teltphone"]
或者MVC直接用FormCollection
@天命辉煌: 这样也是一种办法。但是如果表单数据太大,这样是不是不好呢
@mcfer: 大一点的数据用post啊,表单数据的传输就这2种,一般表单就算有文本也够了
你可以在前台直接将序列化的json字符串post到后台,后台反序列化这个字符串成对象就行了