json篇---前台解析json
后台返回json格式的string类型数据,前台解析不了(比如data[i].id失败)。
前提:后台返回string类型数据,数据内容为json格式字符串。
解决:
//1.在请求时指定返回回来的数据是json格式
$.get("http://localhost:8080/hbskjzccx/detail", {'id':id}, function (data) {
console.log(data);
}, "json")
//2.用eval转换为json格式
$.get("http://localhost:8080/hbskjzccx/detail", {'id':id, function (data) {
console.log(data);
list = eval('('+data+')')
console.log(list);
}
})
//第一次的“console.log(data);”和第二次的“console.log(list);”结果相同
原理:
eval是个计算式子并返回结果的函数,式子内容为字符串。
eval()方法在处理方括号”{}”时,会把它当成是一个语句块。那么eval()方法只会执行该语句,并不会返回该值。
这样,如果需要返回json格式的字符串时,需要在外面套上“()”,表示使其强制转换成json格式。

浙公网安备 33010602011771号