整理post提交資料的四種解析方式

Day10發表於2018-07-19

Content-Type

post方法提交的資料被規定放在訊息主體(entity-body)中,但是並沒有規定提交資料是什麼編碼方式,以什麼方式解析。

服務端通常是根據請求頭(headers)中的 Content-Type欄位來獲知請求中的訊息主體是用何種方式編碼,再對主體進行解析。 X-Requested-With欄位是否存在,是同步還是非同步請求。

X-Requested-With

request.getHeader("x-requested-with"); 為 null,則為傳統同步請求,為 XMLHttpRequest,則為 Ajax 非同步請求。

Content-Type

value description
application/x-www-form-urlencoded 預設常用的,以原生form表單形式提交
multipart/form-data 使用表單上傳檔案時使用
application/json 可以方便的提交複雜的結構化資料,用來告訴服務端訊息主體是序列化後的 JSON 字串。
text/xml 幾乎不用

整理自這裡

相關文章