首页 > 葵花宝典 > 在 IOS12 下 post 无效的问题

在 IOS12 下 post 无效的问题

葵花宝典
2021
11/02
15:08

开始以为和AXIOS有关,网上也搜到一些解决方案。

axios.post( apiUrl, qs.stringify({name: 'testName', pass: 'testPass'}), {
  headers: {
     'Content-Type': 'application/x-www-form-urlencoded'
  }
}).then(//***).catch(//***)

但是这种方案,只能解决简单的请求,不需要通过header向服务器传送其它数据的情况。一旦需要传其它数据如token,依然没有Response。

 

IOS12对跨域请求的限制过于严格,可能限制Access-Control-Allow-Headers字段不可使用通配符(*)。
在进行复杂请求时,会先向服务器发起预检请求 options,收到响应 headers 有返回 Access-Control-Allow-Headers字段,发现是 * 通配符,则禁止之后的 post 请求继续发送,所以status都是0。没想到竟然跟跨域请求有关,更没想到 options 预检请求这个过程还会出问题。

在服务器端修改为:

Access-Control-Allow-Headers: Accept,Accept-Language,Content-Language,Last-Event-ID,Content-Type,token

你需要传的字段,都要配进去。

这样就OK啦!

声明:《在 IOS12 下 post 无效的问题》一文由花火盒(http://www.huahuohe.com)网友供稿,版权归原作者本人所有,转载请注明出处。如果您对文章有异议,可发邮件到hi@webimage.cn处理!
相关文章