1.jquery的ajax方式传递json到后台
(1).示例一:
$.ajax({
type:"POST",
url:"sysAllTableAction_saveTable.do",
data:{jsonStr: JSON.stringify(array_json)},
dataType:"text json",
headers:{
Accept:"application/json",
"Content-Type":"application/json"
},
cache:false,
success:function(msg){
alert(msg);
},
error:function(){
alert("error");
}
});
(2).示例二:
var form_vals = $('#form1').serializeArray();
$.post("PmpAction_toUpdate.do",form_vals,function(data){
if(data=="success"){
alert("修改成功!");
window.location.href="PmpAction_List.do";
}
});
2.JSON数据的转换
(1).将表单内容序列化,转为JSON
//form转换
var form_vals = $('#form1').serializeArray();
var jsonStr = JSON.stringify(form_vals);
3.JSON数据在页面中的解析:
(1).解析成对象
var t="{'firstName': 'cyra', 'lastName': 'richardson', 'address': {'streetAddress': '1 Microsoft way', 'city': 'Redmond'},
'phoneNumbers': ['425-777-7777','206-777-7777']}";
var jsonobj=eval('('+t+')');
alert(jsonobj.firstName);
alert(jsonobj.lastName);
(2).解析成一维数组
var t2="[{name:'zhangsan',age:'24'},{name:'lisi',age:'30'},{name:'wangwu',age:'16'},{name:'tianqi',age:'7'}] ";
var myobj=eval(t2);
for(var i=0;i<myobj.length;i++){
alert(myobj[i].name);
alert(myobj[i].age);
}
(3).解析成二维数组
var t3="[['<a href=# οnclick=openLink(14113295100);>14113295100</a>','aaaaaa','bbbbbb']]";
var obj = eval(t3);
for(var i=0;i<obj.length;i++){
for(var j=0;j<obj[i].length;j++){
alert(obj[i][j]);
}
}
3.示例:
var data='{
"timestamp":"2016-11-03 11:16:41 ","status":200,"message":"服务处理成功",
"result":
{"list":[
{"id":"402880e95827ebbd0158280636690003","hdmtDeclare":null,"name":null,"plan":null,"comStatus":null,"validRecord":true},
{"id":"402880e95827ebbd015828054cbb0002","hdmtDeclare":null,"name":null,"plan":null,"comStatus":null,"validRecord":true},
{"id":"402880e95823bc2f01582464d7690007","hdmtDeclare":null,"name":"项目经费","plan":"5月","comStatus":"误事","validRecord":true}
],
"count":7,
"pageSize":10,
"totalPages":1}
}';
var obj=eval('('+data+')')
var t=obj.result;
$.each(t.list,function(i,o){
alert(o.id);
alert(o.name);
alert(o.plan);
})