我正在使用 jQuery 的 $.post 方法呼叫服務器并將 JSON 回應分配給一個名為“result”的變數。回應是 PHP 的 json_encode() 函式中的一個陣列。
到目前為止,我一直只是直接使用“結果”的屬性,因為 JSON 會自動決議為一個物件。但是現在,經過一些除錯后,我發現我的代碼僅在我首先使用 JSON.parse(result) 時才有效。
是什么導致了這種突然的變化?
解決方案:在回應 JSON 編碼的回應時添加 header("Content-Type: application/json") 服務器端。
uj5u.com熱心網友回復:
任何一個:
- 您的服務器停止設定正確的
Content-Type回應標頭 (application/json)。PHP 將宣告它發送到瀏覽器的任何內容,text/html除非您使用該header()函式來覆寫它。 - 您沒有說
type: 'json'要讓 jQuery (a) 設定Accept標頭和(更相關)(b) 忽略回應的Content-Type標頭并嘗試將其決議為 JSON。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/390268.html
標籤:javascript 查询 json 阿贾克斯 邮政
