我在main.js中已经设置了
axios.defaults.withCredentials=true;
axios.defaults.crossDomain=true;
axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded';
然后我在一个组件中用到了axios,项目上需要携带cookie过去,大致函数如下
this.$axios.post('http://pj.dianmila.com/supersolid/supersolid_api.php?a=list',{offset:self.swiperlen},{headers: {'Content-Type':'application/x-www-form-urlencoded'}}).then(function(res) {
var datajson = res.data;
if(datajson.state == 1) {
for(let i in datajson.list) {
self.swiper.off('reachEnd')
self.swiperlist.push(datajson.list[i])
self.swiperlen++;
}
}
}).catch(function (error) {
alert('未能与服务器连接,请稍后尝试')
console.log(error);
然后在不传参数的情况下是可以不写后面的headers设置的,但是一旦我带了参数进去,全局设置的headers就无效了,一定要加上后面的headers才能传过去,而且即使传过去了,调试里面看到是{offset:5}:
会无缘无故多了个:服务器识别不了,求大神解答
问题描述
问题出现的环境背景及自己尝试过哪些方法
相关代码
// 请把代码文本粘贴到下方(请勿用图片代替代码)
你期待的结果是什么?实际看到的错误信息又是什么?
题目描述
题目来源及自己的思路
相关代码
// 请把代码文本粘贴到下方(请勿用图片代替代码)
正常对应的是
content-type: application/json;charset=UTF-8
解决方案就是加上
transformRequest
自己处理一下数据,我选择使用qs
处理,地址。