PHP如何实现跨域


Posted in PHP onMay 30, 2016

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

PHP 相关文章推荐
用php获取远程图片并把它保存到本地的代码
Apr 07 PHP
php中用加号与用array_merge合并数组的区别深入分析
Jun 03 PHP
ThinkPHP查询返回简单字段数组的方法
Aug 25 PHP
Laravel 4.2 中队列服务(queue)使用感受
Oct 30 PHP
一个经典的PHP文件上传类分享
Nov 18 PHP
php中字符查找函数strpos、strrchr与strpbrk用法
Nov 18 PHP
推荐一本PHP程序猿都应该拜读的书
Dec 31 PHP
php实现多城市切换特效
Aug 09 PHP
PHP基于SPL实现的迭代器模式示例
Apr 22 PHP
Yii2框架操作数据库的方法分析【以mysql为例】
May 27 PHP
gearman中worker常驻后台,导致MySQL server has gone away的解决方法
Feb 27 PHP
Laravel中Kafka的使用详解
Mar 24 PHP
php while循环控制的简单实例
May 30 #PHP
Yii2中如何使用modal弹窗(基本使用)
May 30 #PHP
[原创]php求圆周率的简单实现方法
May 30 #PHP
smarty中改进truncate使其支持中文的方法
May 30 #PHP
php实现的一段简单概率相关代码
May 30 #PHP
PHP中的表达式简述
May 29 #PHP
一个简单的php路由类
May 29 #PHP
You might like
用 PHP5 轻松解析 XML
2006/12/04 PHP
php将数据库中的电话号码读取出来并生成图片
2008/08/31 PHP
Drupal7连接多个数据库及常见问题解决
2014/03/02 PHP
ThinkPHP中的常用查询语言汇总
2014/08/22 PHP
Yii使用DeleteAll连表删除出现报错问题的解决方法
2016/07/14 PHP
javascript concat数组累加 示例
2009/09/03 Javascript
javascript 图片上一张下一张链接效果代码
2010/03/12 Javascript
js对数字的格式化使用说明
2011/01/12 Javascript
jquery 结合C#后台的数组对文章的关键字自动添加链接的代码
2011/07/15 Javascript
JS获取浏览器版本及名称实现函数
2013/04/02 Javascript
Bootstrap每天必学之栅格系统(布局)
2015/11/25 Javascript
对jquery的ajax进行二次封装以及ajax缓存代理组件:AjaxCache详解
2016/04/11 Javascript
js弹出窗口返回值的简单实例
2016/05/28 Javascript
jQuery EasyUI封装简化操作
2016/09/18 Javascript
vue.js表格分页示例
2016/10/18 Javascript
jQuery遮罩层实例讲解
2017/05/11 jQuery
JS实现unicode和UTF-8之间的互相转换互转
2017/07/05 Javascript
React入门教程之Hello World以及环境搭建详解
2017/07/11 Javascript
JS实现获取自定义属性data值的方法示例
2018/12/19 Javascript
微信小程序基于movable-view实现滑动删除效果
2020/01/08 Javascript
在vue中实现禁止回退上一步,路由不存历史记录
2020/07/22 Javascript
Vue向后台传数组数据,springboot接收vue传的数组数据实例
2020/11/12 Javascript
Python获取远程文件大小的函数代码分享
2014/05/13 Python
用Python实现通过哈希算法检测图片重复的教程
2015/04/02 Python
python实现微信跳一跳辅助工具步骤详解
2018/01/04 Python
Python面向对象class类属性及子类用法分析
2018/02/02 Python
Python爬虫框架Scrapy实例代码
2018/03/04 Python
关于Django ForeignKey 反向查询中filter和_set的效率对比详解
2018/12/15 Python
Django基于客户端下载文件实现方法
2020/04/21 Python
Python unittest基本使用方法代码实例
2020/06/29 Python
京东港澳售:京东直邮港澳台
2018/01/31 全球购物
西班牙高科技产品购物网站:MejorDeseo
2019/09/08 全球购物
宏碁西班牙官网:Acer西班牙
2021/01/08 全球购物
动物学专业毕业生求职信
2013/10/11 职场文书
大学生预备党员自我评价分享
2013/11/16 职场文书
单位证明范文
2015/06/18 职场文书