一、概念介紹
1、POST請求:HTTP/1.1
協(xié)議規(guī)定的 HTTP
請求方法有 OPTIONS、GET、HEAD、POST、PUT、DELETE、TRACE、CONNECT
這幾種。其中 POST
一般用來向服務(wù)端提交數(shù)據(jù)。
2、 Content-Type
: 是指 http/https
發(fā)送信息至服務(wù)器時的內(nèi)容編碼類型, Content-Type
用于表明發(fā)送數(shù)據(jù)流的類型,服務(wù)器根據(jù)編碼類型使用特定的解析方式,獲取數(shù)據(jù)流中的數(shù)據(jù)。四種常見的 POST
請求的 Content-Type
數(shù)據(jù)類型:
3、 Express.js
: Express
是一個保持最小規(guī)模的靈活的 Node.js Web
應(yīng)用程序開發(fā)框架,為 Web
和移動應(yīng)用程序提供一組強大的功能。
本文我們主要介紹 Post
請求的 4 種 Content-Type
數(shù)據(jù)類型,以及如何使用 Express
來對每種 Content-Type
類型進行解析。已經(jīng)將完整的代碼實例上傳到 github,github
地址為: https://github.com/fengshi123/request_example,歡迎 star 。
二、四種POST請求的Content-Type數(shù)據(jù)類型解析
1、application/x-www-form-unlencoded
最常見的 POST
提交數(shù)據(jù)的方式,瀏覽器的原生 form
表單,如果不設(shè)置 enctype
屬性,那么最終就會默認以 application/x-www-form-urlencoded
方式提交數(shù)據(jù)。
1.1、前端請求代碼
var reqParam = "name=jack"; xhr.setRequestHeader('Content-type', 'application/x-www-form-urlencoded'); xhr.send(reqParam);