AJAX跨域访问(CORS)问题

一、问题产生

项目里的app用了混合开发,JS和Native页面交互(这专题在下一篇章再总(chao)结(xi)出来)。原先iOS里用的是UIWebView,但由于性能差,表现反而不如Android机器(Android里的浏览器内核都是WKWebView),所以打算也换成WKWebView。但UIWebView与JS交互的方法 和WKWebView不一样,服务端的JS代码也要改。

1

wget -r -p-np -k www.abc.com

来抓取整个网页到本地服务器,打开网页在chrome的控制台看到有个错误,如下:

1

No 'Access-Control-Allow-Origin' headerispresentontherequested resource.

联想到以前同事提过的跨域问题,隐约觉得是同一个问题。经查,有以下解决方案。

二、问题解决

解决问题有2要素,浏览器和服务器都要支持。

1、浏览器支持情况:

AJAX跨域访问(CORS)问题_第1张图片

2、服务器设置:

由于我也不懂服务器配置,所以,扔个链接给你,你自己体会。

http://enable-cors.org/server.html

三、后记备注:

大家在测试时服务器的链接可以用这个,

https://fonts.googleapis.com/css?family=Inconsolata&text=Hello

这网站是开启CORS的。

references:

https://en.wikipedia.org/wiki/Cross-origin_resource_sharing

https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS

http://enable-cors.org/index.html

你可能感兴趣的:(AJAX跨域访问(CORS)问题)