请求一个不同源地址:就是我们所说的跨域请求
同源策略:同源是指,协议相同,域名相同,端口相同
同源政策的目的,是为了保证用户信息的安全,防止恶意的网站窃取数据.
如果非同源,以下三种行为都将收到限制:
- Cookie、LocalStorage 和 IndexDB 无法读取。
- DOM 无法获得。
- AJAX 请求不能发送。
当前页面访问地址: day-12.io/12-cross-or…
希望被请求的地址: locally.uiee.com/categories
校验目标:
-
能发出去. 2. 能收回来 img link script iframe
-
img可以引入外部图片资源 可以发送不同源地址之间的请求 无法拿到响应结果
-
link.真正的定义: 链入一个文档,通过 rel 属性申明链入的文档与当前文档之间的关系, 可以发送不同源地址之间的请求, 无法拿到响应结果.
var link = document.createElement('link');
link.rel = 'stylesheet';
link.href = 'locally.uieee.com/categories';
document.body.appendChild(link);
-
script 可以发送不同源地址之间的请求, 借助于能够作为js执行, 无法拿到响应结果 var script = document.createElement('script'); script.src = 'locally.uieee.com/categories'; document.body.appendChild(script); // 开始发起请求
相当于请求的回调 : function foo(res){ console.log(res); }
后台接口里返回一个foo函数包裹的js代码(在json格式的字符串外面包裹了一个函数的调用), 返回的结果就变成了一段 js 代码. 响应内容类型 header('Content-Type:application/javascript');
echo "foo({$json})";