美文网首页瓦斯程序媛程序员Web前端之路
前端 | 在iOS11上开发H5页面踩坑记(一)

前端 | 在iOS11上开发H5页面踩坑记(一)

作者: 重学前端MDN | 来源:发表于2017-09-29 13:59 被阅读249次
    HTTP.png

    遇到的问题

    在发送请求时,Accept-Language 不小心传了一个错误的字符串 ,如图

    image.png
    在安卓和iOS10系统中都不报错,但是在iOS11中报错

    分析

    当Accept-Language的值有特殊符号,比如&,=,iOS11系统的浏览器并不会做处理,而是把它当做用户自定义的值,从 浅谈 preflight request一文中可以看出,这会触发浏览器发送预检请求,因为服务器端不允许Accept-Language的值为zh-hans&from=timeline&isappinstalled=0,所以就报错了

    而iOS10或者安卓系统的浏览器当判断Accept-Language的值有特殊符号时,会取特殊符号前的字符串当做实际传到服务器的值,在本例中就是 zh-hans,这对浏览器来说是个合法值,并且不是用户自定义的值,所以不会发送预检请求,就顺利请求成功了

    image.png

    相关文章

      网友评论

      本文标题:前端 | 在iOS11上开发H5页面踩坑记(一)

      本文链接:https://www.haomeiwen.com/subject/kgdiextx.html