PHP AJAX 跨域问题最佳解决方案

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

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

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

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

1、允许单个域名访问

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

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

2、允许多个域名访问

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

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

3、允许所有域名访问

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

header('Access-Control-Allow-Origin:*'); 原文出自:http://www.runoob.com/w3cnote/php-ajax-cross-border.html

文章出自:深圳微信开发公司,原文地址:http://www.iswweb.cn/news/1586.html,转载请保留文章出处即可!

本站文章大多数属于原创文章,欢迎大家转载!少数我们转载文章的文章,如未获您授权请点下方联系我们,我们会尽快下线处理!

相关内容