jquery.post用法补充(type设置问题)详解编程语言

jquery.post用法 blog.ytso.com/article/details/12578275

当使用ajax获取data数据的时候,直接data.foo就可以得到。而较低版本的jquery就不行比如1.4之前

$.post('/admin/UserBookView.do', {}, function(data) { 
    console.info(data);	 
});

打印data信息,显示的是json格式的字符串,如下:

{"acceptIs":null,"entity":null,"refuseIs":null,"result":{"pageSize":10, 
"resultList":[{"PRICE":3,"WCTIME":null,"NOTE":"积分异常","CKTIME":null,"CUSER":"admin", 
"CTIME":"2013//12//30 17:03:16","PHONE":"13111050937","ADDR":"测试地址","CUSERID":"1","SLTIME":null}], 
"resultListArray":null,"titles":["ID","CTIME","STATE""PRICE","NOTE"],"totalPage":1,"totalSize":4}, 
"source":null,"storageIs":null,"treeNodes":null}

如果没有设置type,默认返回的data是text类型

当我们使用data. 去试图获取里面的值的时候,返回的是undefined

此时两种解决方法:

一:使用eval函数将json字符串转化为json对象
var datas=eval("("+data+")"); 

参考:javascript eval和JSON之间的关系

二:指定type类型

$.post('/admin/UserBookView.do', {}, function(data) { 
    console.info(data);	 
},"json");

高版本 如1.8+则无此问题,返回的为json对象

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/14444.html

(0)
上一篇 2021年7月19日
下一篇 2021年7月19日

相关推荐

发表回复

登录后才能评论