AJAX html 传输json字符串&&巧妙运用eval()来解析返回的JSON字符串
1.AJAX html 传输json字符串:
js方法如下:
function saveRetYwlsh(){ var xmbh = document.getElementById("xmbh2").value; var spsxid = document.getElementById("zxsxid").value; var zjckYwlsh = $("input[name='jcxx.ywlsh']").val(); $.ajax({ type: "POST", url: "${basePath}/nssjsl/sjsl!saveRetYwlsh.action", //url: "http://localhost:8080/nssjsl/sjsl!ajaxValidateXtcl.action", async: false,//使用同步的方式,true为异步方式 data: {'xmbh':xmbh,'spsxid':spsxid,'ywlsh':zjckYwlsh}, dataType: "html", success: function (data) { //console.log(typeof data); data=eval(data); data=data[0]; if(data.code==0){ $("input[name='jcxx.ywlsh']").val(data.ywlsh); } }, error: function (mesg) { alert(mesg); return false; } }); }
2.巧妙运用eval()来解析返回的JSON字符串:
准备:后台返回字符串A,B,C;
字符串A:
String A="{\"array\":[]}";
字符串B:
String B="{\"obj\":{}}";
字符串C:
String C="[{\"obj\":{}}]";
or
String C="[{\"array\":[]}]";
eval(A/B/C)执行结果只有字符串C可以正常被执行,故如果想要拿到A,B字符串格式的JSON数据,可以转成C对应的字符串格式的JSON数据。