什么叫跨域
跨域解决方法:
1.cors(简单请求、非简单请求)
2.jsonp
3.new Image()
4.nginx反向代理
5.iframe(postmessage、document.domain、window.name、location.hash)
- location.hash(此方法需要三个页面,index.html主页面、data.html异域页面、proxy.html代理页面。其中proxy跟index要同源
index嵌套iframe,指向data.html.data.html嵌套iframe,指向proxy.html。这样的话,data.html加载数据后把数据放到proxy的hash中。proxy中通过监听hash的变化,然后通过window.parent.parent获取主页面的window实例) - window.name(此方法利用window.name在iframe的src的变化时不会改变的原理。需要两个页面,index.html和data.html。data.html在获取到数据后将数据存到window.name中。然后跳转到跟index.html同源的页面。然后index.html就可以通过iframe的window.name获取数据)
6.fetch跨域
网友评论