在使用$.ajax()方法進行數據交互時,我們有時會遇到json數據被轉為鍵值對的情況。即使我們設置了dataType為json,但是返回的數據卻變成了鍵值對格式,這樣就會導致我們無法正確地處理數據。
造成這種情況的原因通常是因為后端沒有正確地設置Content-type頭部信息。在沒有設置Content-type的情況下,jQuery會根據返回數據的格式自動推斷數據類型。如果后端返回的是鍵值對格式的字符串,那么jQuery就會將其解析成鍵值對格式。
為了避免這種情況的發生,我們可以在$.ajax()方法中加入以下設置:
$.ajax({ url: "example.php", dataType: "json", contentType: "application/json; charset=utf-8", success: function(data){ //處理json數據 } });
在contentType中設置了"application/json; charset=utf-8",告訴后端返回的是json格式的數據。這樣,即使后端沒有設置Content-type,jQuery也會按照我們的設置來處理數據。
下一篇用css圖像映射