说说什么是跨域?
浏览器有基源策略。当协议、域名、端口至少有一个不一致时就会发生跨域,ajax请求会失败。
跨域并不是请求发不出去,请求能发出去,服务端能收到请求并正常返回结果,只是结果被浏览器拦截了。这也说明了跨域并不能完全阻止 CSRF
攻击,因为请求毕竟是发出去了。
允许跨域加载资源的标签:
<img src=xxx>
<script src=xxx>
<link href=xxx>
有哪些方法解决跨域?
1、JSONP
利用<script>
标签没有跨域限制的漏洞,在服务器链接的参数中加入callback回调函数,通过这个回调函数获取服务端要传来的值。只能用于GET请求。
// 简单实现一个jsonp函数
function jsonp({
url, param, callback}) {
let script = document.createE