微信小程序> 【小程序】部分机型小程序用户无法发起wx.request请求,网络错误问题解决方案

【小程序】部分机型小程序用户无法发起wx.request请求,网络错误问题解决方案

浏览量:878 时间: 来源:浮生若梦E

一·背景描述

最近一直在开发小程序后端,也开始自己学习开发小程序前端了,遇到个问题比较郁闷。自己朋友和用户的手机在访问小程序的时候 会提示网络错误,提示这个问题 只有在wx.request 发起向后端接口的请求失败后才会提示。

二·问题排查

1·微信开发者工具 发起请求无问题  2·笔者机型iphone6 发起请求无问题 3·已知出现该问题的机型:华为荣耀,诺基亚X6 等安卓机。

小程序

通过小程序数据助手分析得知,出问题前大部分用户是  iphone 机型,只有个别的安卓机没出问题

3·附 前端 wx.request 请求代码

wx.request({    "header": {      "Content-Type": "application/json",      "X-Token": userInfo?userInfo.token : '',      "X-UserId": userInfo ? userInfo.userId ? userInfo.userId:'' : ''    },    "url" : `${root}${url}`,    "method" : method,    "data" : data,    "success" : ({data})= {      var code = data.code || data.CODE;      if(code === 200) {        onSuccess(data);      } else if(code === 401){        getApp().login(()={          onError && typeof onError == 'function' && onError(data);        });      } else{        onError && typeof onError == 'function' && onError(data);      }    },    "fail" : (e)= {      console.log(e,999)      if (e.errMsg ==="request:fail abort")return;      wx.showModal({        title: '提示',        content: '请求失败,请检查网络',        showCancel: false,        confirmColor: '#0f77ff',        success: (res) = {}      })    },  }

我们在fail 里 添加打印 异常信息 console.log(e,999) ,出错机型 通过微信开发者工具远程调试 ,console 里 打印如下:

{“errMsg”:”request:fail ssl hand shake error:java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.”}
小程序

三·解决方案

到此我们已经可以知道 ,是因为 部分安卓机型因为后端接口https 数字证书,没有被信任导致的 没有发起wx.request请求。 更换证书问题解决。

那什么样的证书可以被信任呢。可以在更换证书后 用 主流浏览器测试一些,是否被主流浏览器信任。 我出这个问题之前是因为没有被火狐浏览器开发者版信任,谷歌浏览器是信任的。当时自己手机测试没问题 就上线了。没想到 不同的机型的手机。对证书的信任级别也不同

版权声明

即速应用倡导尊重与保护知识产权。如发现本站文章存在版权问题,烦请提供版权疑问、身份证明、版权证明、联系方式等发邮件至197452366@qq.com ,我们将及时处理。本站文章仅作分享交流用途,作者观点不等同于即速应用观点。用户与作者的任何交易与本站无关,请知悉。

产品经理

手机 : 13312967497

擅长 : 小程序流量变现

扫码领取礼包

最新资讯

热门模板

  • 头条
  • 搜狐
  • 微博
  • 百家
  • 一点资讯
  • 知乎