ajax跨域一般有两种方式
1:jsonp
这种方法非官方的,js原始代码
function jsonpFcuntion(url){
var JSONP=document.createElement("script");
JSONP.type="text/javascript";
JSONP.src=url;
document.getElementsByTagName("head")[0].appendChild(JSONP);
}
调用方式:
var url = index.php?callback=JsonpCallback&id="+code
js里JsonpCallback方法接受返回来的数据
function JsonpCallback(data){
//data就是服务端返回的数据
}
服务端处理
//获取参数
$id = $_GET['id'];
$callback=$_GET['callback'];
//返回数据
$re = json_encode($re);
echo $callback."($re)";
2:可以通过设置Access-Control-Allow-Origin实现跨域
一下为php代码
// 指定允许其他域名访问
header('Access-Control-Allow-Origin:*');
// 响应类型
header('Access-Control-Allow-Methods:POST');
// 响应头设置
header('Access-Control-Allow-Headers:x-requested-with,content-type');
说明:
header('Access-Control-Allow-Origin:*'); 8表示对所有域名跨域,如果想指定值针对某个域名可以跨域,这样指定
header('Access-Control-Allow-Origin:http://www.a.com'); 如果是多个
$fg = array('http://www.a.com','http://www.b.com');
然后在header('Access-Control-Allow-Origin:'.$fg)