例如:客户端的域名是www.manongjc.com,而请求的域名是www.server.com
如果直接使用ajax访问,会有以下错误
HttpRequest cannot load http://www.server.com/server.php. No 'Access-Control-Allow-Origin' header is present on the requested resource.Origin 'http://www.manongjc.com' is therefore not allowed access.
在被请求的Response header中加入
// 指定允许其他域名访问
header(\'Access-Control-Allow-Origin:*\');
// 响应类型
header(\'Access-Control-Allow-Methods:POST\');
// 响应头设置
header(\'Access-Control-Allow-Headers:x-requested-with,content-type\');
就可以实现ajax POST跨域访问了。
代码如下:
client.html
<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">
<html>
<head>
< http-equiv=\"content-type\" content=\"text/html;charset=utf-8\">
< > 跨域测试 </ >
< src=\"//code.jquery.com/jquery-1.11.3.min.js\"></ >
</head>
<body>
<div id=\"show\"></div>
< type=\"text/ \">
$.post(\"http://www.server.com/server.php\",{name:\"fdipzone\",gender:\"male\"})
.done(function(data){
document.getElementById(\"show\").innerHTML = data.name + \' \' + data.gender;
});
</ >
</body>
</html>
server.php
<?php
$ret = array(
\'name\' => isset($_POST[\'name\'])? $_POST[\'name\'] : \'\',
\'gender\' => isset($_POST[\'gender\'])? $_POST[\'gender\'] : \'\'
);
header(\'content-type:application:json;charset=utf8\');
header(\'Access-Control-Allow-Origin:*\');
header(\'Access-Control-Allow-Methods:POST\');
header(\'Access-Control-Allow-Headers:x-requested-with,content-type\');
echo json_encode($ret);
?>
Access-Control-Allow-Origin:* 表示允许任何域名跨域访问
如果需要指定某域名才允许跨域访问,只需把Access-Control-Allow-Origin:*改为Access-Control-Allow-Origin:允许的域名
例如:header('Access-Control-Allow-Origin:http://www.manongjc.com');
继续阅读与本文标签相同的文章
上一篇 :
为何DevOps是如今最重要的技术策略
下一篇 :
采访了10万名程序员:一份关于程序员的数据报告
-
充分利用系统磁盘空间,Windows 7操作系统如何创建压缩文件夹
2026-05-14栏目: 教程
-
iPhone11系列性能测试:碾压华为麒麟990,性能超越它两倍!
2026-05-14栏目: 教程
-
手机导航是怎样判断路况的?不仅是通过卫星,这几个原因使导航更智能
2026-05-14栏目: 教程
-
手机信号突然从“4G”变成“E”,是什么意思?客服给出答案
2026-05-14栏目: 教程
-
互联网架起“乌镇式生活”
2026-05-14栏目: 教程
