因为要指定base_url且每次发送数据都要将token发过去,所以自己封装了一个axios方法,里面创建了一个axios实例。虽然设置了method是POST,但是请求时method一直是GET。求解
axios: function(url,params){
params = params ? params : {};
return instance = axios.create({
baseURL: DOMAIN,
method: "POST",
responseType: "json",
params: {
token: Tools.cookie.getCookie("token")
}
})
return instance.request(url,{params:params});
}
更新:将params改成data之后,浏览器提交时的method变成option
axios: function(url,params){
params = params ? params : {};
const instance = axios.create({
method: "post",
baseURL: DOMAIN,
responseType: "json",
data: {
token: Tools.cookie.getCookie("token")
}
})
return instance.request(url,{data: params});
}
这个时候我就不得不把源码搬出来了..., 把你默认配置的method覆盖掉了(见下面图片)。
issue上已经有人提了相关问题和PR了,估计过段时间会发版本更新。
我比较赞成的改法是此链接的改法,https://github.com/axios/axio... 你可以fork代码,改动后引入。也可以在request方法调用里添加method达到请求post的目的。