將JSON 資料從Javascript 傳送到PHP
嘗試將JSON 資料從瀏覽器的Javascript 環境中繼到PHP 所在的伺服器時,就會出現挑戰會解釋它。為了解決這個問題,有兩種方法被證明是有效的:
版本1:利用application/json 請求標頭
- 使用JSON 將Javascript物件轉換為JSON 字串.stringify().
- 利用XMLHttpRequest 將JSON 字串分派到伺服器。
- 在 PHP 端,使用 file_get_contents('php://input') 擷取原始 POST 資料。
版本2:使用application/x- www-form-urlencoded
- 使用以下內容組成標準POST 字串格式為「variable_name= value&variable_name_2=value_2」。
- 在 Javascript 中,將此字串指派給 str_json。
- 在 PHP 中,PHP 的 $_POST 陣列將在收到 POST 資料後填入。
陷阱避免
最初,嘗試使用不正確的請求標頭傳輸 JSON 字串可能會導致困難。在 PHP 中將 application/x-www-form-urlencoded 與 $_POST 陣列一起使用將導致空數組。相反,利用 application/json 需要透過 php://input 存取原始 POST 資料。
參考文獻
- [如何存取 POST 資料PHP? ](https://stackoverflow.com/questions/4199290/how-to-access-post-data-in-php)
- [IETF RFC 4627:JavaScript 物件的application/json 媒體類型表示法( JSON)](http://www.ietf.org/rfc/rfc4627.txt)
以上是如何將 JSON 資料從 JavaScript 傳送到 PHP:兩種有效的方法?的詳細內容。更多資訊請關注PHP中文網其他相關文章!