规范把 HTTP 请求分为三个部分:状态行、请求头(headers)、消息主体(entity-body).服务端一般是根据请求头(headers)中的 Content-Type 字段来获知请求中的消息主体是用何种方式编码,再对主体进行解析。node
浏览器的原生 form 表单,若是不设置 enctype 属性,那么最终就会以 application/x-www-form-urlencoded 方式提交数据,提交的数据按照 key1=val1&key2=val2 的方式进行编码.不少时候,咱们用 Ajax 提交数据时,也是使用这种方式.ios
这种方式通常用来上传文件json
用来告诉服务端消息主体是序列化后的 JSON 字符串(用JSON.stringify处理数据)
Google 的 AngularJS 中的 Ajax 功能,以及Vue官方推荐组件axios默认就是提交 JSON 字符串axios
没用过,略浏览器
'Content-Type':'application/xxxx-form'app
在浏览器中你能够以下使用 URLSearchParams API:post
var params = new URLSearchParams();
params.append('param1','value1');
params.append('param2','value2');
axios.post('/foo',params);ui
使用 qs 库来格式化数据
var qs = require('qs');
axios.post('/foo', qs.stringify({'bar':123}));this
在nodejs中,你能够以下使用 querystring :编码
var querystring = require('querystring');
axios.post('http://something.com/', querystring.stringify({foo:'bar'}));
'Content-Type':'application/json'
const postData=JSON.stringify(this.formCustomer);