了解PHP 中的JSON 處理
透過AJAX 請求提交資料並將Content-Type 標頭設定為application/json 時,可能會出現以下情況:看來PHP 的$_POST 陣列在伺服器端仍然為空。發生這種情況是因為 PHP 本身不會解析來自 php://input 流的 JSON 資料。
為什麼會發生這種情況
預設情況下,PHP 處理從客戶端接收的資料 -使用 x-www-form-urlencoded 編碼的側面請求。當 Content-Type 設定為 application/json 時,請求正文包含原始 JSON 數據,PHP 不會將其解釋為典型的表單參數。
解決方案:處理JSON 請求
要解決此問題並在PHP 中正確處理JSON 請求,可以使用以下方法:
<code class="php"><?php var_dump(json_decode(file_get_contents('php://input'))); ?></code>
說明
var_dump() 函數用於顯示解碼後的JSON 資料。 file_get_contents('php://input') 函數從 php://input 流讀取原始數據,其中包含 JSON 請求正文。最後,json_decode()函數將JSON字串解析為PHP變數。
以上是如何在 PHP 中正確處理 JSON 請求的詳細內容。更多資訊請關注PHP中文網其他相關文章!