access-control-allow-origin php,PHP通过Access-Control-Allow-Origin 跨域
通過設(shè)置Access-Control-Allow-Origin來實(shí)現(xiàn)跨域。
例如:
客戶端的域名是client.xxx.com,而請(qǐng)求的域名是server.xxx.com。
如果直接使用ajax訪問,會(huì)有以下錯(cuò)誤:
XMLHttpRequest cannot load http://server.xxx.com/server.php. No 'Access-Control-Allow-Origin' header is present on the requested resource.Origin 'http://client.xxx.com' is therefore not allowed access.
1、允許單個(gè)域名訪問
指定某域名(http://client.xxx.com)跨域訪問,則只需在server.php文件頭部添加如下代碼:
header('Access-Control-Allow-Origin:http://client.xxx.com');
// 指定允許其他域名訪問
//header('Access-Control-Allow-Origin:*');
// 響應(yīng)類型
//header('Access-Control-Allow-Methods:POST');
// 響應(yīng)頭設(shè)置
//header('Access-Control-Allow-Headers:x-requested-with,content-type');
2、允許多個(gè)域名訪問
指定多個(gè)域名(http://client1.xxx.com、http://client2.xxx.com等)跨域訪問,則只需在server.php文件頭部添加如下代碼:
$origin = isset($_SERVER['HTTP_ORIGIN'])? $_SERVER['HTTP_ORIGIN'] : '';
$allow_origin = array(
'http://client1.xxx.com',
'http://client2.xxx.com'
);
if(in_array($origin, $allow_origin)){
header('Access-Control-Allow-Origin:'.$origin);
}
3、允許所有域名訪問
允許所有域名訪問則只需在server.php 文件頭部添加如下代碼:
header('Access-Control-Allow-Origin:*');
總結(jié)
以上是生活随笔為你收集整理的access-control-allow-origin php,PHP通过Access-Control-Allow-Origin 跨域的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php扩展-ioncube组件的安装方法
- 下一篇: php如何压缩txt文件怎么打开,PHP