application/x-www-form-urlencoded
這應該是最常見的 POST 送出資料的方式了。浏覽器的原生 form 表單,如果不設定 enctype 屬性,那麼最終就會以 application/x-www-form-urlencoded 方式送出資料。資料按照 key1=val1&key2=val2 的方式進行編碼,key 和 val 都進行了 URL 轉碼。請求類似于下面這樣
multipart/form-data
使用表單上傳檔案時,必須讓 form 的 enctyped 等于這個值。
上面提到的這兩種 POST 資料的方式,都是浏覽器原生支援的,而且現階段原生 form 表單也隻支援這兩種方式。但是随着越來越多的 Web 站點,尤其是 WebApp,全部使用 Ajax 進行資料互動之後,我們完全可以定義新的資料送出方式,給開發帶來更多便利。
application/json
這種類型是我們推薦的,。實際上,現在越來越多的人把它作為請求頭,用來告訴服務端消息主體是序列化後的 JSON 字元串。由于 JSON 規範的流行,除了低版本 IE 之外的各大浏覽器都原生支援 JSON.stringify,服務端語言也都有處理 JSON 的函數,使用 JSON 不會遇上什麼麻煩。