跨域:不同域之间请求资源就是跨域
1.ajax的跨域问题
当协议,子域名,主域名,端口号,任意一个不同时,就算作不同的域。
javascript出于同源策略的限制:不允许从一个域访问另一个域的对象
2.如何实现跨域
1.客户端跨域的方法
客户端跨域方法:
1.jsonp
2.script 因为script标签不受同源策略的限制
2.服务器端跨域的方法
1.修改服务器端的Access-Control-Allow-Origin属性 改为 Access-Control-Allow-Origin,"*"
2.1jsonp
将dataType属性设置为:jsonp
<script src="lib/jquery-3.4.1.js"></script>
<script>
var url="https://douban.uieee.com/v2/movie/top250";
$.ajax({
url,
type:"get",
dataType:"jsonp",
success:res=>{
console.log(res)
}
})
</script>
2.2.js中script标签不受同源策略的影响也可以实现跨越
var script = document.createElement("script");
script.src = "http://api.douban.com/v2/movie/subject/1764796?&callback=handleResponse";
document.body.prepend(script);
function handleResponse(res) {
// 对response数据进行操作代码
console.log(res)
}
2.3修改服务器端
修改服务器端的Access-Control-Allow-Origin属性
改为:
Access-Control-Allow-Origin:*