js获取后台返回的数据

通过$.get从后台获取了一段json串{"id":"1","name":"ww"},然后要拿到这里面的id和name值

$.get(url,
     function(data) {
    alert("ID:" + data.id + "\nName:" + data.name);
     });

直接这样写的话,界面会alert提示undefined,所以应该是不能

js获取后台返回的数据_第1张图片

js获取后台返回的数据_第2张图片

对应的后台data数据写法,这样是可以直接获取不用解析

js获取后台返回的数据_第3张图片

js获取后台返回的数据_第4张图片

 

但是当后台是这样处理的

js获取后台返回的数据_第5张图片

前台接收的数据是

js获取后台返回的数据_第6张图片

js获取后台返回的数据_第7张图片

要想获取纯数字就需要解析

 

解决方案:

1、需要用eval函数将返回的串转化成可用的strig串,eval(data),但是因为原串里面是以{}开始和结束的,会被认为是可执行方法,因此需要加上()包围起来,var jsonobj=eval("("+data+")"),然后再alert("ID:" + jsonobj.id + "\nName:" + jsonobj.name);就能正常显示了

2、获取的时候就直接表示返回的是json格式,用$.getJSON代替$.get,其他代码不变,也能正常获取。

正确解析返回的串

 

你可能感兴趣的:(js获取后台返回的数据)