PHP 解决Ajax跨域请求的问题
2023-06-13 09:15:30 时间
请注意,本文编写于 669 天前,最后修改于 663 天前,其中某些信息可能已经过时。
如果要实现跨域通过设置实Access-Control-Allow-Origin来现跨域。
而Access-Control-Allow-Origin这个表现形式就是
例如:客户端的域名是blog.zmzhz.com,而请求的域名是market.zmzhz.com。
如果直接使用ajax访问,会有以下错误:
XMLHttpRequest cannot load http://market.zmzhz.com/admin.php. No 'Access-Control-Allow-Origin' header is present on the requested resource.Origin 'http://blog.zmzhz.com' is therefore not allowed access.
1、允许单个域名访问 指定某域名(http://blog.zmzhz.com)跨域访问,则只需在http://market.zmzhz.com/admin.php文件头部添加如下代码:
header('Access-Control-Allow-Origin:http://blog.zmzhz.com');
2、允许多个域名访问 指定多个域名(http://blog1.zmzhz.com、http://blog2.zmzhz.com等)跨域访问,则只需在http://market.zmzhz.com/admin.php文件头部添加如下代码:
$origin = isset($_SERVER['HTTP_ORIGIN'])? $_SERVER['HTTP_ORIGIN'] : '';
$allow_origin = array(
'http://blog1.zmzhz.com',
'http://blog2.zmzhz.com'
);
if(in_array($origin, $allow_origin)){
header('Access-Control-Allow-Origin:'.$origin);
}
3、
3.允许所有域名访问 允许所有域名访问则只需在http://market.zmzhz.com/admin.php文件头部添加如下代码:
header('Access-Control-Allow-Origin:*');
相关文章
- MySQL数据库操作:用PHP实现(php操作mysql数据库)
- 实现【使用Redis实现PHP抢红包迅速拿奖励】(php抢红包redis)
- PHP向MySQL中安全插入数据(php插入mysql)
- PHP开发者必须了解的Linux常识(php开发linux)
- PHP中使用Redis简单取值(redis取值php)
- 实现PHP的Redis扩展安装(php安装redis扩展)
- PHP连接MySQL数据库失败的解决方案(php连接mysql失败)
- 防止MySQL注入攻击,PHP静态解决方案(mysql防注入 php)
- 快速学习PHP Redis的使用方法(php redis怎么用)
- Linux无法解析PHP文件,如何解决(linux 不解析php)
- PHP Redis实时监控系统的应用(php redis 监控)
- PHP可以连接MSSQL数据库吗?(php能连接mssql吗)
- PHP连接MSSQL服务器:一篇实战指南(php 用mssql连接)
- Linux下轻松执行PHP文件的方法(linux执行php文件)
- 开启创新之旅Redis与PHP的结合(开启 redis php)
- 检查PHP Redis环境实现快速可靠性服务(检查php redis)
- Ajax实现对Oracle的异步操作(ajax操作oracle)
- PHP+ajax无刷新删除数据
- 也谈PHP和MYSQL
- 透析PHP的配置文件php.ini
- php网上商城促销设计实例代码
- php数据结构与算法(PHP描述)快速排序quicksort
- 解析如何去掉CodeIgniterURL中的index.php
- php使用smtp发送支持附件的邮件示例
- 浅析PHP的静态成员函数效率更高的原因