1.3.axios默认提交就是使用application/json格式,注意这里不是json对象,而是json字符串
所以如果你传送的数据是
data:{
“name”:“lalla”,
“age”:13
}//后台是接收不到的
解决问题需要两个方法:
1.前端改变传过去的data的类型(后台接收好像挺麻烦的)
headers:{
‘Content-type’: ‘application/x-www-form-urlencoded’
}
transformRequest: [function (data) {
let ret = ‘’
for (let it in data) {
ret += encodeURIComponent(it) + ‘=’ + encodeURIComponent(data[it]) + ‘&’
}
return ret
}],
2.后台接收数据时做处理
后台接收数据需要依赖body-parser中间件,我们事先装好,接着在后台代码中引用body-parser
这张截图中,发挥作用的代码仅仅是const bodyParser=require(“body-parser”);
接下来在路由中使用body-parser
app.post("/api/haveUser",bodyParser.json(),function(req,res){
console.log(req.body);
let haveUser=require("…/api/server/user.js");
haveUser(req.body.name,req.body.password,res);
});
补充两种post请求的:
var qs = require(‘qs’);
axios.post(’/demo’, qs.stringify({ ‘params’: 7758521 }, { indices: false }))
2.var params = new URLSearchParams();
params.append(‘user’, ‘value1’);
params.append(‘name’, ‘value2’);
axios.post(’/demo’, params);
更多的详细问题可以看axios官网:https://www.kancloud.cn/yunye/axios/234845