最近在做前端開發的時候,遇到了一個奇怪的問題:$.post()方法無法接收JSON數據。在網上查了一圈,終于找到了解決方案,現在跟大家分享一下。
首先,讓我們看一下$.post()方法的基本語法:$.post(url, [data], [success], [dataType])。其中dataType可以設置請求的數據類型,支持多種類型,但是常用的就是json和html。如果不設置dataType,默認是智能猜測(這點跟$.get()方法一樣)。
現在來看看我遇到的問題。我寫了下面的代碼:
$.post('data.php', function(data){ console.log(data); });
我在data.php中返回了JSON數據,但是控制臺上卻輸出了一大堆字符串。這是因為默認情況下,$.post()方法猜測返回的數據是普通文本,而不是JSON數據。所以我們需要設置dataType。
改動后的代碼如下:
$.post('data.php', function(data){ console.log(data); }, 'json');
這樣就可以成功接收JSON數據了。當然,如果你的返回數據是HTML格式,那就設置成'html'就好了。
總結一下,如果你使用$.post()方法無法接收JSON數據,請檢查是否設置了dataType,并且是否設置成了'json'。
上一篇Mysql中的表同義詞
下一篇用css制作主頁