使用axios发送post请求,http请求hearder中'Content-Type'的类型为'application/json;charset=UTF-8',后端无法接收,如果后端使用的是springmvc框架,可以让其对应方法的参数加上注解@RequestBody,即可接收,但是此种方法不友好,这样改了之后,其他地方需要调用访问,如果不是用json方式传递参数,则无法使用。
下面,考虑从前段解决问题,首先安装nodejs的qs模块:npm install qs --save
然后修改post代码:
var qs = require('qs');
function post(url, params){
return axios.post(url,
qs.stringify(params),
{
headers: {
'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8'
}
}).then(res => res.data);
}
export const addSysTable = params => { return post(`/api/table/insert.do`, params).then(res => res.data);};
这样调用addSysTable 就可以正常传递参数了。