关于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);
}
})
}