当前位置: 首页 > news >正文

微信小程序request:fail报错(包括不执行fail回调问题)

微信小程序request:fail报错(包括不执行fail回调的问题)

  • 1. 不执行fail回调的问题
  • 2. request:fail报错原因
    • 2.1 小程序未配置域名导致的错误
    • 2.2 微信小程序使用的服务器环境不支持TLS1.2
    • 2.3 使用的SSL证书不信任
    • 2.4 SSL证书证书链缺乏
    • 2.5 域名未备案,或者备案了未超过24小时。
    • 2.6 苹果部分机型可用,部分机型报错:或安卓机型报错等
    • 2.7 微信小程序与第三方服务器通讯的域名必要条件

1. 不执行fail回调的问题

首先,很多的人可能认为,success就是我成功请求到数据了,也就是当请求返回的状态码是2XX,而返回4XX,5XX肯定是出错了,出错了之后就执行fail回调函数。

但是事实上并不是这样 的,其实只要你的wx.request成功发出了请求,无论返回什么http状态码,都会走success。

那有的人就会问,这样success和fail有什么意义? 答案是这样的设定是非常合理的,当我们遇到断网,域名解析有问题,或者尤其是我们去调用restful api时,可能会在url格式,参数类型上出些问题,这些情况下才会调用到fail。

反之4xx、5xx 等 response的异常状态不会进入fail回调,所以我们需要在success回调中检查statusCode,根据http状态码的不同去做相应的逻辑判断。

2. request:fail报错原因

2.1 小程序未配置域名导致的错误

登陆小程序后台(https://mp.weixin.qq.com)

将小程序访问网址域名填写到小程序后台,设置—开发设置—服务器域名,如下:
在这里插入图片描述

填写完成并保存,再次打开小程序就可以啦

2.2 微信小程序使用的服务器环境不支持TLS1.2

在这里插入图片描述
Windows系统至少要2008R2以上,才能支持,但2008操作系统需要手动工具调整 ,其它的服务器环境调整方法:苹果ATS特性服务器配置指南_常见问题

2.3 使用的SSL证书不信任

可以苹果ATS检测确定是否支持。

结果这样的说明证书正常,如果检测出不信任或者证书问题,请重新申请:https://gworg.taobao.com/
在这里插入图片描述

2.4 SSL证书证书链缺乏

如果SSL证书缺乏中间证书会导致同样的错误,这种情况下需要去补充证书链:
下载DigiCert和GeoTrust中间证书

2.5 域名未备案,或者备案了未超过24小时。

微信小程序的域名必须要备案,并且24小时后去公众号小程序配置域名才生效。

如果域名启用端口的建议改成常规443端口使用。

2.6 苹果部分机型可用,部分机型报错:或安卓机型报错等

在这里插入图片描述

可能是证书不受信任,在此查看证书信任列表:苹果支持的证书列表:
iOS 中可用的受信任根证书列表 - Apple 支持 (中国)

证书常见问题参考:https://blog.csdn.net/Gworgcom/article/details/121349211

2.7 微信小程序与第三方服务器通讯的域名必要条件

1、一个已备案的域名,不是localhost、也不是127.0.0.1,域名不能加端口

2、加ssl证书,也就是https://xxx

3、HTTPS 服务器的 TLS 版本支持1.2及以下版本,一般就是1.0、1.1、1.2要同时支持这三个版本,一个也不能少,要不然就会出现下面这种情况
在这里插入图片描述
4、微信小程序后台加上合法域名设置(一个月内改的次数是有限的,且行且珍惜)如下图

在这里插入图片描述
以上条件,必需全满足,要不然你手机预览的时候就会发现通讯不了

相关文章:

  • Nacos多种安装方式
  • vue3项目实战中的接口调用方法(二)fetch用法 (前后端交互) get请求/post请求/put请求/delete请求
  • 【云原生】设备云之FlexManager历史数据的运用
  • Python批量爬取简历
  • linux查询进程号,出现两个进程
  • String.format()的详细用法
  • 使用 RNN 模型从零实现 情感分类(详解)
  • Oracle——行转列与列转行
  • 闲谈:2022 年最大的加密丑闻
  • 目前最先进的神经网络算法,神经网络算法发展
  • Shell 批量创建文件夹
  • 【预测模型-DELM分类】基于风驱动算法改进深度学习极限学习机实现数据分类附matlab代码
  • 【AutoLeaders】一些好用的网站
  • 【熬了一宿,为大家整理出来Flink on Yarn的三种部署方式,详细介绍,不仅仅皮毛哦】
  • C++打怪升级(七)- 动态内存管理
  • “寒冬”下的金三银四跳槽季来了,帮你客观分析一下局面
  • 【MySQL经典案例分析】 Waiting for table metadata lock
  • 【翻译】Mashape是如何管理15000个API和微服务的(三)
  • 07.Android之多媒体问题
  • 0x05 Python数据分析,Anaconda八斩刀
  • crontab执行失败的多种原因
  • JAVA_NIO系列——Channel和Buffer详解
  • Laravel深入学习6 - 应用体系结构:解耦事件处理器
  • Python3爬取英雄联盟英雄皮肤大图
  • 关于Java中分层中遇到的一些问题
  • 强力优化Rancher k8s中国区的使用体验
  • 使用 QuickBI 搭建酷炫可视化分析
  • 用jquery写贪吃蛇
  • 主流的CSS水平和垂直居中技术大全
  • [地铁译]使用SSD缓存应用数据——Moneta项目: 低成本优化的下一代EVCache ...
  • 2017年360最后一道编程题
  • ​LeetCode解法汇总2583. 二叉树中的第 K 大层和
  • ​力扣解法汇总946-验证栈序列
  • #define MODIFY_REG(REG, CLEARMASK, SETMASK)
  • #define、const、typedef的差别
  • #pragma multi_compile #pragma shader_feature
  • $ is not function   和JQUERY 命名 冲突的解说 Jquer问题 (
  • $jQuery 重写Alert样式方法
  • $refs 、$nextTic、动态组件、name的使用
  • (10)Linux冯诺依曼结构操作系统的再次理解
  • (20)目标检测算法之YOLOv5计算预选框、详解anchor计算
  • (蓝桥杯每日一题)love
  • (十一)c52学习之旅-动态数码管
  • (四)鸿鹄云架构一服务注册中心
  • (续)使用Django搭建一个完整的项目(Centos7+Nginx)
  • (一)搭建springboot+vue前后端分离项目--前端vue搭建
  • (原创)攻击方式学习之(4) - 拒绝服务(DOS/DDOS/DRDOS)
  • (原創) 如何優化ThinkPad X61開機速度? (NB) (ThinkPad) (X61) (OS) (Windows)
  • (转)AS3正则:元子符,元序列,标志,数量表达符
  • (转)编辑寄语:因为爱心,所以美丽
  • (轉貼) 資訊相關科系畢業的學生,未來會是什麼樣子?(Misc)
  • .Family_物联网
  • .NET LINQ 通常分 Syntax Query 和Syntax Method
  • .NET 使用 JustAssembly 比较两个不同版本程序集的 API 变化
  • .Net(C#)常用转换byte转uint32、byte转float等