今天在使用uniapp请求数据是遇上了一类fail请求失败的情况,因为服务器网络被占用,ngnix负载均衡导致请求转发失败,对后台而已就是没有请求,在uni.request中则是直接调用fail函数,响应的信息是requert:fail,在xhr中查看status为0,即请求并未发送成功。因为多种错误都会调用fail函数,这时候需要根据错误原因来进行不同操作,如像本次的错误可以跳转至错误处理页面展示原因,提示用户待网络不繁忙时打开。
uniapp中vue2版本this指向vue实例,在vue2中给响应式变量a赋值需要以this.a的形式赋值,在异步函数如uni.request请求中在成功,失败或者完成的回调函数中this指向会改变,使得我们在给this.a赋值时并没有给vue实例下的a赋值,导致a不变,无法渲染在页面上。这时我们可以在请求前定义var that=this,而后在回调中使用that.a赋值。