mar*_*zzz 3 ajax jquery same-origin-policy
代码.为什么
$.ajax({
type : "get",
url : "http://www.facebook.com",
success: function(data){
console.log(data);
}
});
Run Code Online (Sandbox Code Playgroud)
工作和
$.ajax({
type : "get",
url : "http://www.google.com",
success: function(data){
console.log(data);
}
});
Run Code Online (Sandbox Code Playgroud)
XMLHttpRequest cannot load在浏览器控制台上抛出着名的同源策略异常!
为什么?我想这取决于浏览器?
http://www.facebook.com发送一个301 Moved Permanently重定向到的响应https://www.facebook.com.
似乎重定向导致请求比完全跨域故障更安静地失败.但是,这两个请求都失败了.
编辑
根据W3C Ajax规范:
如果响应的HTTP状态代码为301,302,303,307或308 ...
- 将请求URL设置为Location头传达的URL.
- 如果源源和请求URL的来源是相同的源,则在观察同源请求事件规则时透明地遵循重定向.
- 否则,请遵循跨源请求步骤并终止此算法的步骤.
文本"透明地遵循重定向"意味着Ajax应该将301重定向的目标视为原始目标.但是,在执行重定向时,将针对新目标源重新检查同源策略.
目标域还必须与请求脚本具有相同的源,或者它必须使用允许请求源访问的CORS头进行响应.
| 归档时间: |
|
| 查看次数: |
637 次 |
| 最近记录: |