當使用ajax獲取data數據的時候,直接data.foo就可以得到。而較低版本的jquery就不行比如1.4之前,下面為大家介紹下jquery.post用法關於type設置問題
當使用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對象