ajax請求時http頭信息的content-type是application/x-www-form-urlencoded或application/json區別
content-type請求頭是干嘛的
-
http請求頭有四種類型,分別是通用頭部,請求頭部,響應頭部以及內容頭部,首先,我們要弄清楚,content-type是屬於內容頭部,既然是內容頭部,那這個請求頭是用來向接收端解釋傳遞的該內容主體的,content-type的取值是告訴服務端,你傳遞過去的內容是什么,你應該准備好如何接收,這里,我們重點剖析一下其中幾個取值,’application/json’,’application/x-www-form-urlencoded’,’multipart/form-data’。
application/x-www-form-urlencoded
-
這個類型是ajax默認的 content-type類型,這時前端可以以對象方式直接給后端,或者以json方式傳給后端, 當action為get時候,瀏覽器用x-www-form-urlencoded的編碼方式把form數據轉換成一個字串(name1=value1&name2=value2...),然后把這個字串append到url后面,用?分割,加載這個新的url。 當action為post時候,瀏覽器把form數據封裝到http body中,然后發送到server。在瀏覽器控制台可以看到它們的內容都是以‘From Data’形式展現
application/json
- 如果ajax的頭部是application/json,那么post時,數據必須以json格式傳給后端,這時后端在
$_POST
’中不能直接接受到數據,必須用$GLOBALS['HTTP_RAW_POST_DATA']取出來,然后再json_decode就行了。