jquery.post用法之type设置问题

前端技术 2023/09/09 JavaScript
当使用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+\")\");

二:指定type类型
复制代码 代码如下:

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

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

本文地址:https://www.stayed.cn/item/23989

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。