application/json和application/x-www-form-urlencoded都是表單數據發送時的編碼類型。php
EncType:json
enctype 屬性規定在發送到服務器以前應該如何對錶單數據進行編碼。數組
默認地,表單數據會編碼爲 "application/x-www-form-urlencoded"。就是說,在發送到服務器以前,全部字符都會進行編碼。瀏覽器
以下圖所示Content-Type:服務器
application/x-www-form-urlencoded編碼類型的發送和接收app
窗體數據被編碼爲名稱/值對編碼
客戶端:url
發送"test=I'm Egret",瀏覽器按F12,Network中查看發送數據spa
服務端:code
接收test數據
application/json的發送和接收
序列化後的 JSON 字符串
客戶端:
發送JSON格式字符串 '{"test":"I'm Client."}'
服務端:
1. 用file_get_contents拿Post數據。$_POST['test']取不到數據。
2. 而後使用json_decode解碼。 原始file_get_contents是字符串?
3. php中json訪問方式 $json->test。php中沒有{test:"I'm Client"}這種格式的,$json = {test:"I'm Client"}會報錯。
4. 返回數據時將數組json_encode編碼。php中json格式沒有,用數組代替。
使用json格式,php頭部須要加上以下代碼,不然會報錯
header('Access-Control-Allow-Headers:x-requested-with,content-type');