码迷,mamicode.com
首页 > Web开发 > 详细

PHP - 如何实现跨域

时间:2016-05-28 23:24:06      阅读:204      评论:0      收藏:0      [点我收藏+]

标签:客户端软件   style   justify   如何   

因工作需要,客户端软件的一些界面用HTML+CSS+Javascript实现,这些文件放在客户端本地,以本地文件形式加载,但是有些情况下,需要连接服务器取得一些信息,如果不做任何处理,则请求失败,返回的信息如下:

 

No ‘Access-Control-Allow-Origin‘ header is present on the requested resource. Origin ‘null‘ is therefore not allowed access.

 

这是因为浏览器跨域策略起作用,阻止了跨域的请求。看看HTTP请求过程就知道。第一次请求后端时候,浏览器意识到是访问一个跨与资源,没有直接发送GET请求获取数据,而是发送了一个OPTIONS请求询问是否可以访问该资源。我们称之为Preflight请求,默认因为同源策略的存在,该请求返回的Header中没有‘Access-Control-Allow-Origin‘属性,所以访问失败。

如果要实现跨域,关键在于服务器,客户端的代码按照正常的方式编写即可。对于服务器,只需要在收到OPTIONS请求的地方,返回的头信息中增加该属性即可,代码如下:

 

header("Access-Control-Allow-Origin: *");

 

注意,一定要在所有信息输出到客户端之前设置。

PHP - 如何实现跨域

标签:客户端软件   style   justify   如何   

原文地址:http://lancelot.blog.51cto.com/393579/1784123

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!