h5(混ios,vue)页面上线后请求为status=0(network error)
最近项目上线公司服务器内测,我把自己项目放到公司服务器后,请求后端接口始终是status=0(vconsole打印的),我部署的域名是aa.bb.com,后端域名(接口地址)是ab.bb.com,就是域名前缀不同.
ios那边把webview的url都和请求地址都相应改为了线上,我的页面时出来的(说明部署成功),就是请求有问题(如上),
用postwoman和本地开发配置的代理测试后台线上接口是通的。
我的nginx配置如下,不知道如何解决这个跨域请求
server {
listen 80;
server_name aa.bb.com;
location / {
root /usr/local/Pmh5_test/ios_h5;
#for vue-Router history
try_files $uri $uri/ /index.html;
index index.html;
}
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
页面要是在android或者网页里请求都是可以的,唯独ios不行,奇怪?
主要ios的safari内核的问题,如果服务端设置了
ios12.x是不支持的,我的是ios13.5也不支持!(胆子大升级到了最新版,建议大家别升级)
详见github issue#1598
我们后端用的nginx配置,,后端在配置上ctrl v了如下代码:
我曾尝试修改过该配置有没有多余的配置,一行没有!然后
nginx重启
请求就成功了
当然你也可能是其他情况,把它变为简单请求试一下
2020.08.26更新
除了以上原因导致status=0,还有可能是如下原因:
这是ios12+中WKwebview的问题供[参考],这种情况会导致你的请求发不出去,错误很难定位。
最后我的解决方法是将网页地址部署在http上。
另外推荐相关文章:
ios跨域问题处理
十种跨域解决方案