PHP Ajax跨域问题解决方案代码实例


Posted in PHP onAugust 01, 2020

本文通过设置Access-Control-Allow-Origin来实现跨域。

例如:客户端的域名是client.runoob.com,而请求的域名是server.runoob.com。

如果直接使用ajax访问,会有以下错误:

XMLHttpRequest cannot load http://server.runoob.com/server.php. No 'Access-Control-Allow-Origin' header is present on the requested resource.Origin 'http://client.runoob.com' is therefore not allowed access.

1、允许单个域名访问

指定某域名(http://client.runoob.com)跨域访问,则只需在http://server.runoob.com/server.php文件头部添加如下代码:

header('Access-Control-Allow-Origin:http://client.runoob.com');

2、允许多个域名访问

指定多个域名(http://client1.runoob.com、http://client2.runoob.com等)跨域访问,则只需在http://server.runoob.com/server.php文件头部添加如下代码:

$origin = isset($_SERVER['HTTP_ORIGIN'])? $_SERVER['HTTP_ORIGIN'] : ''; 
 
$allow_origin = array( 
  'http://client1.runoob.com', 
  'http://client2.runoob.com' 
); 
 
if(in_array($origin, $allow_origin)){ 
  header('Access-Control-Allow-Origin:'.$origin);    
}

3、允许所有域名访问

允许所有域名访问则只需在http://server.runoob.com/server.php文件头部添加如下代码:

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
PHP安全编程之加密功能
Oct 09 PHP
PHP 面向对象 PHP5 中的常量
May 05 PHP
按上下级层次关系输出内容的PHP代码
Jul 17 PHP
codeigniter教程之多文件上传使用示例
Feb 11 PHP
php 使用array函数实现分页
Feb 13 PHP
php采集中国代理服务器网的方法
Jun 16 PHP
PHP实现多文件上传的方法
Jul 08 PHP
大家在抢红包,程序员在研究红包算法
Aug 31 PHP
PHP Static延迟静态绑定用法分析
Mar 16 PHP
Symfony模板的快捷变量用法实例
Mar 17 PHP
PHP实现的线索二叉树及二叉树遍历方法详解
Apr 25 PHP
PHP中时间加减函数strtotime用法分析
Apr 26 PHP
PHP生成图表pChart的示例解析
Jul 31 #PHP
基于php伪静态的实现方法解析
Jul 31 #PHP
PHP底层运行机制与工作原理详解
Jul 31 #PHP
如何通过Apache在本地配置多个虚拟主机
Jul 29 #PHP
PHP网页缓存技术优点及代码实例
Jul 29 #PHP
phpStudy vscode 搭建debug调试的教程详解
Jul 28 #PHP
jQuery+PHP实现图片上传并提交功能
Jul 27 #PHP
You might like
php+jQuery递归调用POST循环请求示例
2016/10/14 PHP
Yii2――使用数据库操作汇总(增删查改、事务)
2016/12/19 PHP
Jsonp 跨域的原理以及Jquery的解决方案
2011/06/27 Javascript
JavaScript中两个感叹号的作用说明
2011/12/28 Javascript
如何学习Javascript入门指导
2013/11/01 Javascript
一个JS函数搞定网页标题(title)闪动效果
2014/05/13 Javascript
jQuery实现加入购物车飞入动画效果
2015/03/14 Javascript
jQuery on()绑定动态元素出现的问题小结
2016/02/19 Javascript
jquery实用技巧之输入框提示语句
2016/07/28 Javascript
jQuery ajaxForm()的应用
2016/10/14 Javascript
jQuery中ajax错误调试分析
2016/12/01 Javascript
用原生js做单页应用
2017/01/17 Javascript
javascript闭包功能与用法实例分析
2017/04/06 Javascript
JavaScript中this的用法及this在不同应用场景的作用解析
2017/04/13 Javascript
BootStrap Select清除选中的状态恢复默认状态
2017/06/20 Javascript
Element中的Cascader(级联列表)动态加载省\市\区数据的方法
2019/03/27 Javascript
nodejs检测因特网是否断开的解决方案
2019/04/17 NodeJs
微信小程序 确认框的实现(附代码)
2019/07/23 Javascript
JS异步处理的进化史深入讲解
2019/08/25 Javascript
Openlayers实现地图的基本操作
2020/09/28 Javascript
Vue实现图书管理小案例
2020/12/03 Vue.js
[02:56]DOTA2上海特锦赛小组赛解说FreeAgain采访花絮
2016/02/27 DOTA
如何搜索查找并解决Django相关的问题
2014/06/30 Python
Pyhton中单行和多行注释的使用方法及规范
2016/10/11 Python
Python网络编程之TCP与UDP协议套接字用法示例
2018/02/02 Python
Pandas之DataFrame对象的列和索引之间的转化
2019/06/25 Python
python3使用GUI统计代码量
2019/09/18 Python
Python hashlib常见摘要算法详解
2020/01/13 Python
美国领先的奢侈美容零售商:Bluemercury
2017/07/26 全球购物
新加坡最早生产电动滑板车的制造商之一:FunsToTheFore
2020/09/08 全球购物
应聘护士求职信
2014/07/21 职场文书
学校党的群众路线教育实践活动个人整改方案
2014/10/31 职场文书
2019个人半年工作总结
2019/06/21 职场文书
使用Vue3+Vant组件实现App搜索历史记录功能(示例代码)
2021/06/09 Vue.js
Vue3.0 手写放大镜效果
2021/07/25 Vue.js
python区块链持久化和命令行接口实现简版
2022/05/25 Python