vue项目使用axios遇到的小问题,这里记一下。
如果传过来的参数是一个对象,那么axios默认的Content-Type:application/json;
前端传参的时候记得使用JSON.stringify(param)转下格式;
如果想默认为Content-Type: application/x-www-form-urlencoded
,请改下源码,路径是:axios>lib>default.js
if (utils.isObject(data)) {
// setContentTypeIfUnset(headers, 'application/json;charset=utf-8');
// return JSON.stringify(data);
/* 这里就是把json变成url形式,并进行encode编码 */
setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');
var keys = Object.keys(data);
// console.log('key====', keys)
return encodeURI(keys.map(name => `${name}=${data[name]}`).join('&'));
}