PHP 處理具有Application/JSON 內容類型的JSON 請求
發送內容類型設定為「application/json」的AJAX 請求時,AJAX 請求時, PHP 在接收請求參數時的預設行為變得不明確。出現此問題的原因是 PHP 期望 post 參數是 URL 編碼的,而 JSON 編碼的資料則不是。
在這種情況下,如果內容類型是“application/json”,則透過 PHP 的 $ 存取參數_POST(用於 URL 編碼資料)將傳回空數組。要在 PHP 中正確處理 JSON 請求,需要另一種方法。
解決方案:使用file_get_contents() 檢索JSON 資料
PHP 不依賴$_POST,而是使用$_POST提供file_get_contents() 函數來從各種來源讀取取原始數據,包括PHP 輸入流。與 json_decode() 結合使用時,此函數可讓您在 PHP 腳本中解析和利用 JSON 編碼的資料。
以下範例示範如何處理具有「application/json」內容類型的JSON 請求PHP:
在此範例中,file_get_contents('php://input') 從請求中檢索原始JSON 數據,然後json_decode() 將其轉換為數組或對象,然後可以將其轉換為數組或對象。在您的腳本中進一步訪問和處理。
以上是如何在 PHP 中使用「application/JSON」內容類型處理 JSON 請求?的詳細內容。更多資訊請關注PHP中文網其他相關文章!