评论

request:fail 未能完成该操作。协议错误

request:fail 未能完成该操作。协议错误。安卓机正常,苹果机不正常

开发者工具测试OK
安卓机测试OK,线上OK
ios测试OK,线上报错

1.我以为是ssl协议问题,重新配置Nginx,重新申请签名,换阿里云签名到腾讯云签名,甚至重启,甚至到myssl.com 检查apple 的 ATS,都没有解决效果,这花了我很长时间去检查
2.在线测试:从入口文件手动断点测试,一直到正常流程的最后,结果发现问题了:在返回json 数据的地方,在正式返回数据之前都OK的,在返回到客户端就GG了,然后发现,我的代码是这样写的:

问题就出在这个header 上面,应该是先设置content-type ,再设置字符编码,代码修改如下:

问题得到解决

结果反思:为什么在开发中工具中测试OK,为什么在安卓机测试OK,为什么在苹果机测试就错误了呢,可能是ios强制校验了header头的设置顺序,应该 遵循这样一个顺序:文件保存的编码格式、header设置的输出编码格式、数据库存储使用的编码三者保持一致(可缺省)

最后一次编辑于  2019-07-17  
点赞 2
收藏
评论

1 个评论

  • 
    
    2019-07-17

    感谢分享

    2019-07-17
    赞同 1
    回复 2
    • 飞哥
      飞哥
      2019-07-17
      躺过的坑,愿后来者不湿脚~~
      2019-07-17
      回复
    • Dylan Li
      Dylan Li
      2019-10-22
      同样的错误,设置和不设置,都错误。。。。。
      1. 大小写, 顺序,都试过了, 还是不行, 哎
      2019-10-22
      回复
登录 后发表内容