(轉載)http協議的Request Payload 和 Form Data 的區別
阿新 • • 發佈:2018-08-12
正文 pri 分享 正在 mapping enc .com 9.png wid 的區別。
我正在開發的項目前端和後端是完全獨立的,通過配置 webpack 的 proxy 將前端請求跨域代理到後臺服務。昨天發現,我前端執行 post
請求,後臺 springmvc 的 @RequestMapping
接收不到對應的請求參數。開始我以為是我 proxy 配置有問題,導致 post 參數不能傳到後臺。然而,並不是這樣…
proxy 配置如下:
前端代碼:
java 後臺代碼:
Request Payload VS Form Data
前端請求
我看了前端發起的請求,請求正文並不是我熟悉的 Form Data
,而是 Request Payload
。如圖註意下面兩個請求的 Content-Type
Request Payload 請求
Form Data 請求
了解這兩個的區別之前,我們先回顧下 HTTP 請求報文格式:
Request Payload 大概格式如下,請求頭部的 Content-Type: application/json
,並且請求正文是一個 json 格式的字符串
Form Data 大概格式如下,請求頭部的 Content-Type: application/x-www-form-urlencoded
,並且請求正文是類似 get 請求 url 的請求參數
解決方案:在method: "post"後面加上contentType : "application/x-www-form-urlencoded"
(轉載)http協議的Request Payload 和 Form Data 的區別