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 相关文章推荐
建立动态的WML站点(二)
Oct 09 PHP
PHP几个数学计算的内部函数学习整理
Aug 06 PHP
php源代码安装常见错误与解决办法分享
May 28 PHP
解决PHP4.0 和 PHP5.0类构造函数的兼容问题
Aug 01 PHP
yii实现级联下拉菜单的方法
Jul 31 PHP
php过滤html标记属性类用法实例
Sep 23 PHP
php查询相似度最高的字符串的方法
Mar 12 PHP
php将数组转换成csv格式文件输出的方法
Mar 14 PHP
深入探究PHP的多进程编程方法
Aug 18 PHP
PHP常用字符串操作函数实例总结(trim、nl2br、addcslashes、uudecode、md5等)
Jan 09 PHP
PHP封装的PDO数据库操作类实例
Jun 21 PHP
PHP命令行与定时任务
Apr 01 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
一个程序下载的管理程序(一)
2006/10/09 PHP
Views rows style模板重写代码
2011/05/16 PHP
探讨fckeditor在Php中的配置详解
2013/06/08 PHP
PHP中魔术变量__METHOD__与__FUNCTION__的区别
2014/09/29 PHP
为PHP5.4开启Zend OPCode缓存
2014/12/26 PHP
thinkPHP自动验证机制详解
2016/12/05 PHP
JS中剪贴板兼容性、判断复制成功或失败
2021/03/09 Javascript
jQuery控制输入框只能输入数值的小例子
2013/03/20 Javascript
js模拟hashtable的简单实例
2014/03/06 Javascript
使用jquery.upload.js实现异步上传示例代码
2014/07/29 Javascript
Angular中$compile源码分析
2016/01/28 Javascript
BootStrap文件上传样式超好看【持续更新】
2016/05/10 Javascript
JavaScript中的boolean布尔值使用学习及相关技巧讲解
2016/05/26 Javascript
AngularJS基于ngInfiniteScroll实现下拉滚动加载的方法
2016/12/14 Javascript
AngularJS监听路由变化的方法
2017/03/07 Javascript
jQuery插件FusionCharts绘制2D柱状图和折线图的组合图效果示例【附demo源码】
2017/04/10 jQuery
JQueryMiniUI按照时间进行查询的实现方法
2017/06/07 jQuery
简单实现js拖拽效果
2017/07/25 Javascript
基于vue-simplemde实现图片拖拽、粘贴功能
2018/04/12 Javascript
原生JS实现的简单轮播图功能【适合新手】
2018/08/17 Javascript
如何修改Vue打包后文件的接口地址配置的方法
2020/04/22 Javascript
探索浏览器页面关闭window.close()的使用详解
2020/08/21 Javascript
el-form 多层级表单的实现示例
2020/09/10 Javascript
Python基于opencv的图像压缩算法实例分析
2018/05/03 Python
如何使用python把ppt转换成pdf
2019/06/29 Python
Python之pymysql的使用小结
2019/07/01 Python
Java程序开发中如何应用线程
2016/03/03 面试题
如何定义一个可复用的服务
2014/09/30 面试题
运动会入场口号
2014/06/07 职场文书
班主任与学生安全责任书
2014/07/25 职场文书
幼儿园秋季开学寄语
2014/08/02 职场文书
处级领导班子全部召开专题民主生活会情况汇报
2014/09/27 职场文书
技术股份合作协议书
2014/10/05 职场文书
2015年置业顾问工作总结
2015/04/07 职场文书
2016年寒假家长评语
2015/10/10 职场文书
详解GaussDB for MySQL性能优化
2021/05/18 MySQL