跨域,简单地理解就是因为浏览器基于安全的同源策略限制不同域名和协议之间的互相访问。
而AJAX的跨域请求,其实浏览器并没有限制不同域的网络请求,只是浏览器会基于请求返回响应头做处理,如果发现是跨域请求且响应头Access-Control-Allow-Origin未对请求来源设置允许,则根据非同源禁止策略,浏览器不会将服务端返回的数据交给AJAX,这样就会阻止不同域之间的数据交互。
1)服务端对访问的来源设置Access-Control-Allow-Origin响应头许可;
2)JSONP
jsonp的实现原理,其实就是通过动态加载script标签,预先定义好callback函数处理逻辑,服务端返回的数据其实是一个执行函数的代码,将有效数据作为callback函数的参数。
时间: 2024-11-05 15:49:38