加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

关于axios请求返回值的使用

(2018-12-13 10:31:29)
上一篇写了axois的GET和POST,代码如下:

test() {
this.axios.post('/api/test',this.qs.stringify({'name':'xiaoming','sex':'nan'}),{
headers: {
'Content-Type':'application/x-www-form-urlencoded'
}
})
.then(function(res){
console.log(res.data)
}.bind(this))
.catch(function(err){
if(err.response) {
console.log(err.response);
}
})
}

我们在实践过程当中会发现,我们无法通过回调函数返回值来去修改全局变量,原因是,在请求执行成功后执行回调函数中的内容,回调函数处于其它函数的内部this不会与任何对象绑定,为undefined。

解决办法是:使用箭头函数"=>":

test() {
this.axios.post('/api/test',this.qs.stringify({'name':'xiaoming','sex':'nan'}),{
headers: {
'Content-Type':'application/x-www-form-urlencoded'
}
})
.then((res)=>{
let objs=res.data;
this.title=objs.title;
}.bind(this))
.catch(function(err){
if(err.response) {
console.log(err.response);
}
})
}

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有