axios中post请求在与后台交互时,在请求头‘Content-Type’ 定义的提交数据类型有几种方式,如下:
this.axios({
url:"http://127.0.0.1:3000/getData",
method:"post",
data:params,
header: {
'Content-Type': 'application/x-www-form-urlencoded'
}
}).then((data)=>{
console.log(data);
})
1. ‘Content-Type’:‘application/x-www-form-urlencoded’
这应该是最常见的post编码方式,一般的表单提交默认以此方式提交。大部分服务器语言对这种方式都有很好的支持。在PHP中,可以用$_POST[“key”]的方式获取到key的值,在node中我们可以使用querystring中间件对参数进行分离
需要转换格式:
app.post("/server",function(req,res){
req.on("data",function(data){
let key=querystring.parse(decodeURIComponent(data)).key;
console.log("querystring:"+key)
});
});
2. ‘Content-Type’:'multipart/form-data ’
这也是一种比较常见的post数据格式,我们用表单上传文件时,必须使form表单的enctype属性或者ajax的contentType参数等于multipart/form-data。使用这种编码格式时发送到后台的数据长得像这样子
3. ‘Content-Type’:'application/json ’