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、浏览器支持情况:

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,534评论 19 139
  • 在项目开发过程中,遇到了Ajax跨域访问资源的问题,提示出现了类似于下面这样的错误: Cross-Origin R...
    vito1994阅读 9,220评论 5 14
  • 1. 什么是跨域? 跨域一词从字面意思看,就是跨域名嘛,但实际上跨域的范围绝对不止那么狭隘。具体概念如下:只要协议...
    他在发呆阅读 4,210评论 0 0
  • 奇葩说上,马东关于什么是“完美人生”,提出了自己的定义,是什么?是中国人说的——命好。 生在一个无饥馑之...
    Elena柳洁琼阅读 3,401评论 0 1
  • “阿渔……不要走……不要离开我……不要……”听着电话那段的呢喃,阿渔瞬间泪流满面。“你在哪儿?”阿渔哽咽的问。“我...
    Esperanza467阅读 2,166评论 0 0