vue axios post 请求后端无法参数解决方法
2018-06-29 本文已影响0人
从入门到放弃治疗
1.VUE AXIOS
npm install axios --save
2.在
import axios from 'axios'; node_modules>axios>lib>defaults.js
/* 这里是重点,其他的其实可以照着axios的源码抄 */
/* 这里就是用来解决POST提交json数据的时候是直接把整个json放在request payload中提交过去的情况
* 这里简单处理下,把 {name: 'admin', pwd: 123}这种转换成name=admin&pwd=123就可以通过
* x-www-form-urlencoded这种方式提交
* */
if(utils.isObject(data)) {
setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');
let keys2 = Object.keys(data);
/* 这里就是把json变成url形式,并进行encode */
//console.log('key====', keys2)
return encodeURI(keys2.map(name => `${name}=${data[name]}`).join('&'));
}
/*把下面这段注释掉*/
// if(utils.isObject(data)) {
// setContentTypeIfUnset(headers, 'application/json;charset=utf-8');
// return JSON.stringify(data);
// }