同源请求: Ajax, fetch…
非同源请求(跨域):
1.JSONP (server端通过JSON.stringify返回数据),只支持GET请求
2.CORS(跨域资源共享):需要server端设置responseHeader相关参数, 支持所有类型的请求,但是Access-Control-Allow-Origin设置多个值时无法设置cookie和session
3.基于webpack dev server的proxy代理
4.server端设置nginx代理
5.使用HTML5的postMessage, 适用于前端页面之间的跨域数据传输
6.使用HTML5的socket.io,websocket协议跨域
7.document.domain + iframe, 只能实现同一个主域,不同子域之间的操作
8.document.name + iframe(指向空的同源代理,window.name只有同源下才能取到), 适用于前端页面之间的跨域数据传输
9.location.hash + iframe, 通过监听window.onhashchange来传递hash值,可传输的值有长度限制
10.改本机hosts, 模拟跨域
11.前后端代码部署到同一台服务器,从根本上解决跨域
前端跨域方式
最新推荐文章于 2024-09-30 15:23:15 发布