时间
ios 和 andriod 的系统差异,导致 h5 js 获取时间的时候不兼容。
iOS12 机型无法获取请求
现象
前端请求后端,页面一片空白。后端未收到请求。
原因
关于跨域请求无法在ios12中正常请求,并且返回状态码为0,后端日志未收到get/post请求,仅收到options请求。
如果你的请求是一个跨域请求,并且你手动添加了请求头,那么就是一个复杂请求,浏览器会先发送一个options请求进行预检(判断是否被服务器允许),预检失败则get/post请求不会正常发送,成功则继续。
如果你后端在允许跨域时 Access-Control-Allow-Headers: *
,使用了 *
通配符。
在ios12中,*
通配符被禁用,导致options预检时发现是通配符 *
,禁止浏览器继续发送get/post请求,此时,请求结束,状态码为0。
解决办法:
1、后端Access-Control-Allow-Headers: *
,不使用通配符 *
。
2、前端 不添加请求头,就不会发送options请求。
3、请求不跨域也不会发送options请求
实际方案
因为是前后端分离,请求中也有对应的请求头。
所以网关在配置 CORS 的时候,把 *
改为具体的 header 属性名称。
这里要注意:前端如果有 header 新增,一定要先做好配置,然后再新增。
微信公众号的消息推送
微信公众号的小程序跳转
-
小程序部分机型无法跳转
-
如何兼容环境
-
测试
微信公众号的踩坑指南
公众号 ios12 系统无法接受信息
公众号
参考资料
https://blog.csdn.net/aloneiii/article/details/122122235