解决vue+axios post参数后端无法接收的问题

使用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 就可以正常传递参数了。

猜你喜欢

转载自my.oschina.net/u/1011854/blog/1630611