jquery ajax 返回json 格式类型为string string 转json

来源:互联网 发布:阿里云已经备案的域名 编辑:程序博客网 时间:2024/05/22 14:50

今天在做项目的时候突然发现平时用的好好地,直接调用jquery ajax返回的对象的属性就可获得该属性值,结果竟然失败了,原来是因为返回类型的不是json格式也就是不是Object,而是string 。

于是转换吧,把string转换为json对象

/** * 根据id获取用户 * @param id */function getUserById(id){//alert(id);jQuery.ajax({type:"POST",contenttype:"application/json",async:false,cache:false,url:"/pxgl/app/getUserById/"+id,datatype:"json",success:function (obj){ alert("返回结果类型为:"+typeof(obj));//结果显示string var ob = eval("(" + obj + ")"); alert("转换后结果类型为:"+typeof(ob));//object alert("查看对象id"+obj.id);return obj;},error:function(data){return null;}});}

出现这种现象的主要原因是由于我使用的模板用的jquery版本为1.3.2  在1.4之前的版本都会返回类似json格式的string 而不会返回Object

改正方法也很简单 把jquery版本调到最新即可 这样返回结果就是object对象了 可以直接通过 对象.属性 的方式拿到想要的值。