跨域可以使用jsonp,实现跨域请求,但是这种方式只能发送GET请求,type设置为POST也会自动转为GET,因为jsonp是利用script标签可以跨域链接资源的特性。
$.ajax({
type: 'POST',
url: url,
data: data,
dataType: 'jsonp',
jsonpCallback: "callback",
success:function(json){
console.log(json);
}
});
如果想发POST请求可以把dataType设置为json,增加crossDomain: true的配置:
$.ajax({
type: 'POST',
url: url,
data: data,
dataType: 'json',
crossDomain: true,
success:function(json){
console.log(json);
}
});
这种方式需要后台来作支持,需要把返回数据头改为:
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: POST,GET');
header('Access-Control-Max-Age: 1800');