PHP 解决Ajax跨域请求的问题

2023-03-05 15:03:20 浏览数 (2)

请注意,本文编写于 669 天前,最后修改于 663 天前,其中某些信息可能已经过时。

如果要实现跨域通过设置实Access-Control-Allow-Origin来现跨域。

Access-Control-Allow-Origin这个表现形式就是

例如:客户端的域名是blog.zmzhz.com,而请求的域名是market.zmzhz.com。

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

代码语言:javascript复制
    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文件头部添加如下代码:

代码语言:javascript复制
    header('Access-Control-Allow-Origin:http://blog.zmzhz.com');

2、允许多个域名访问 指定多个域名(http://blog1.zmzhz.com、http://blog2.zmzhz.com等)跨域访问,则只需在http://market.zmzhz.com/admin.php文件头部添加如下代码:

代码语言:javascript复制
    $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文件头部添加如下代码:

代码语言:javascript复制
    header('Access-Control-Allow-Origin:*');

0 人点赞