PHP如何实现跨域
2016-05-30 00:00
651 查看
因工作需要,客户端软件的一些界面用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请求的地方,返回的头信息中增加该属性即可,代码如下:
注意,一定要在所有信息输出到客户端之前设置。
以上所述是小编给大家介绍的PHP如何实现跨域的相关内容,希望对大家有所帮助!
PHP中运用jQuery的Ajax跨域调用实现代码
浅析php中jsonp的跨域实例
PHP如何利用P3P实现跨域
php jq jquery getJSON跨域提交数据完整版
php跨域cookie共享使用方法
ThinkPHP框架实现session跨域问题的解决方法
php中http与https跨域共享session的解决方法
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如何实现跨域的相关内容,希望对大家有所帮助!
您可能感兴趣的文章:
使用JSON实现数据的跨域传输的php代码PHP中运用jQuery的Ajax跨域调用实现代码
浅析php中jsonp的跨域实例
PHP如何利用P3P实现跨域
php jq jquery getJSON跨域提交数据完整版
php跨域cookie共享使用方法
ThinkPHP框架实现session跨域问题的解决方法
php中http与https跨域共享session的解决方法
相关文章推荐
- 一个关于if else容易迷惑的问题
- PHP5.2.*防止Hash冲突拒绝服务攻击的Patch
- 深入理解PHP之匿名函数
- JSP/PHP基于Ajax的分页功能实现
- 关于PHP通过PDO用中文条件查询MySQL的问题。
- 什么是设计模式
- PHP数据库长连接mysql_pconnect的细节
- Php Installing An Expansion
- rem : web app适配的秘密武器
- php7 读取php.ini[4]
- PHP+Apache在Windows 9x下的安装和配置
- IIS 6 的 PHP 最佳配置方法
- 安装Apache和PHP的一些补充
- Linux Apache+MySQL+PHP
- 建立Apache+PHP+MySQL数据库驱动的动态网站
- PHP 5.3.0 安装分析心得
- apache 环境下 php 的配置注意事项
- 探秘ajax跨域请求
- 简单好用的PHP分页类