问题
在使用开发者工具内网页授权的时候,弹出了这个错。对比了一下授权地址与微信官方提供的demo进行对比,出来跳转的url不一样,其他的完全一致
出现原因
通过查看在这个过程中的所有请求,最后发现了问题的原因:接口的执行顺序有问题。
因为请求是异步的,如果在token未拿到之前,也有请求(假设为a)同时发出,就会出现,登陆成功了,但是a请求因为未携带token,接口返回错误code的时候,触发了response拦截器,再次向微信发起授权。此时,就会出现图示的错误。
解决方案
- 本次出现问题的接口a,写在了app.vue中,登陆逻辑放在了router.js中。解决的方法就是将a接口从app.vue中删掉,放到需要它的具体页面中。
- 出现类似问题,都可以按照这种方法,去检测一下,是否有接口的调用顺序出了问题。