欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

PHP如何实现跨域

程序员文章站 2024-04-02 13:47:52
因工作需要,客户端软件的一些界面用html+css+javascript实现,这些文件放在客户端本地,以本地文件形式加载,但是有些情况下,需要连接服务器取得一些信息,如果不...

因工作需要,客户端软件的一些界面用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如何实现跨域的相关内容,希望对大家有所帮助!