1.通过jsonp跨域 但是只支持get请求不支持post请求
jonp的最基本的原理是:动态添加一个
jquery的ajax
1.向服务器发送一个参数callback=?,同时指定dataType为’jsonp’的格式,跨域请求时指定的数据格式必须是jsonp的形式。
$.ajax({
url:'http://192.168.1.106:8086/carBrand/json.html?level='+level+'&id='+id+'&callback=?', //将callback写在请求url后面作为参数携带
type:'GET',
async:false,
dataType:'jsonp',
success:function(data){
console.log(data);
//其他处理(动态添加数据元素)
});
2.callback不需要写在url中,但是要指定jsonp参数为’callback’,并给jsonpCallback参数一个值。
$.ajax({
url:'http://192.168.1.106:8086/carBrand/json.html?level='+level+'&id='+id,
type:'GET',
dataType:'jsonp',
jsonp: 'callback', //将callback写在jsonp里作为参数连同请求一起发送
jsonpCallback:'jsonpCallback1',
success:function(data){
console.log(data);
})
服务器设置head(常用)
response.setHeader("Access-Control-Allow-Origin", "*");
response.setHeader("Access-Control-Allow-Credentials", "true");
修改 document.domain 跨子域
对于主域名相同,且协议,端口一致,而子域名不同的情况,可以使用 document.domain 来跨域。