一. 同源和跨域
同源:同源策略是浏览器的⼀种安全策略,所谓同源是指,域名,协议,端⼝完全相同。
url | 说明 | 是否允许通讯 |
---|---|---|
http://www.a.com/b.js | 同一域名下 | 允许 |
http://www.a.com/lab/a.js http://www.a.com/lab/b.js | 同⼀域名下不同⽂件夹 | 允许 |
http://www.a.com:8000/a.js, http://www.a.com/b.js | 同⼀域名,不同端⼝ | 不允许 |
http://www.a.com/a.js , https://www.a.com/b.js | 同⼀域名,不同协议 | 不允许 |
http://www.a.com/a.js , http://70.32.92.74/b.js | 域名和域名对应ip | 不允许 |
http://www.a.com/a.js , http://script.a.com/b.js | 主域相同,⼦域不同 | 不允许 |
http://www.a.com/a.js http://a.com/b.js | 同⼀域名,不同⼆级域名(同上) | 不(cooki情况下也不允许访问) |
http://www.cnblogs.com/a.jshttp://www.a.com/b.js | 不同域名 | 不允许 |
如何解浏览器拦截跨域请求
一、程序中添加HTTP请求头
Response.Headers.Add(“Access-Control-Allow-Origin”, "")
例如:
{
‘Access-Control-Allow-Origin’: '’,
}
二、在服务器上,添加HTTP响应头
"Access-Control-Allow-Origin:" //值为或指定的域名。
三、使用JSONP格式,即在jQuery中ajax请求参数dataType:'JSONP’
$.ajax({
url:“http://map.oicqzone.com/gpsApi.php?lat=22.502412986242&lng=113.93832783228”,
type:‘GET’,
dataType:‘JSONP’, // 处理Ajax跨域问题
success: function(data){
$(‘body’).append( "Name: " + data );
}
})