jquery.post用法之type设置问题
内容摘要
当使用ajax获取data数据的时候,直接data.foo就可以得到。而较低版本的jquery就不行比如1.4之前 复制代码 代码如下: $.post('/admin/UserBookView.do', {}, function(data) {
文章正文
当使用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对象
复制代码 代码如下:
$.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对象
代码注释