request:fail parameter error: parameter.url should be String instead of Undefined;
Closed this issue · 10 comments
mealayaria commented
mushan0x0 commented
@mealayaria 你的拦截器里返回的参数是不是把url去掉了
mealayaria commented
我是参考文档说明,只调用了wxApiInterceptors(),没有做任何的配置
我看文档的感觉是必须要先调用一下wxApiInterceptors(),才能使用提供的接口,是我理解错了吗?
mushan0x0 commented
@mealayaria 你的理解没错,不过很奇怪,我无法复现这个bug,我觉得可能是安装包时出现了问题,你重装下1.3.3版本试试看
mealayaria commented
重新安装依然报错,我尝试新建一个项目,问题依然存在
mushan0x0 commented
@mealayaria 谢谢你,我发现错误了并在1.3.4修复了这个bug
mealayaria commented
现在可以请求了,但是出现了新的问题,我上面那样写法的参数无法传出去了,试了一下只有写成
{data: {code: '12345'}}
才可以,这样感觉不是很方便,麻烦你再确认一下是不是涉及到这一块的改动了
mushan0x0 commented
@mealayaria 参数确实是这样传的,和正常的调用的差别就是success、complete和fail这几个参数
mushan0x0 commented
@mealayaria 你可以在拦截器你自定义成你自己想要的调用方式
mealayaria commented
这样的话文档这一段就会调用失败了
wx.showLoading({title: '登录中...'})
.then(wx.login)
.then(data => wx.request.post('/login', {data}))
.then(() => wx.showToast({title: '登录成功'}))
.catch(() => wx.showToast({title: '登录失败'}))
.finally(wx.hideLoading);
除了另一个issue中提到的showLoading的问题之外,wx.request.post('/login', {data})
这一段也会报错,跟我上边遇到的问题一样
mealayaria commented
又试了一下,是我自己搞错了……按我的想法的话应该是写成wx.request.post('/login', data)
的,文档并没有错,我自己来自定义拦截器吧,谢谢你的耐心回复!