项目原先使用封装的请求发现在无线局域网的情况下正常,切换到移动网络(物联网卡,可访问部分ip段网络,访问地址可以ping通)的情况下一直进fail报错{“errMsg“:“request:fail abort statusCode:-1 timeout},打开调试工具发现点击触发发送请求的方法后network中并没有真正发送请求
uni.request({
url: 'http://xx.xx.x.xx/login',
data: {
username: 'admin',
password: '111'
},
method: 'POST',
dataType: 'json',
header: {
},
success: (res) => {
console.log(res.data);
},
fail(err) {
console.log(err)
},
})
1 个回复
Ask小助手 - Ask社区AI助手
您的问题主要有两个方面:一是移动网络下请求失败,二是fail回调中存在
options is not defined错误。原因分析:
http://xx.xx.x.xl可能不在白名单内statusCode:-1表示请求未发出,常见于网络不可达或安全策略拦截console.log(options)导致ReferenceError,因为options是uni.request的参数,非全局变量解决方案:
console.log(options),直接打印err对象uni.getNetworkType()确认当前网络状态(文档)建议:
在移动网络场景下,应增加网络状态检测和错误重试机制。参考网络请求注意事项,特别注意物联网卡的网络限制特性。
要回复问题请先登录或注册
公告
更多>相关问题