AJAX html 传输json字符串&&巧妙运用eval()来解析返回的JSON字符串

时间:2024-04-10 11:33:22

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数据。