当前位置:网站首页 > 前端开发 > 正文

前端跨域的常用解决方式(前端跨域的常用解决方式有)



一、什么是跨域?

浏览器有同源策略限制,协议、域名、端口号三者一样就是同源,三者只要有一个不同就是跨域。

二、9种方式

1、JSONP

2、CORS

3、http proxy  

4、nginx反向代理

5、postMessage

6、socket.io

7、document.domain + iframe

8、document.name + iframe

9、location.hash + iframe

三、具体解决跨域的实现

1、JSONP (不常用)

原理:是利用<script>标签不存在跨域请求的限制

缺点:1、只能处理get请求 2、通过URl携带参数容易被劫持,不安全

举例:也可以动态的去创建<script>标签,原理在这随意发挥,只要是<script>标签即可

文件1:index.html

文件2:index.jsonp.js

后端接受请求参数,并返回客户端,客服端拿到数据后执行函数

2、CORS 跨域资源共享 (前端不需要做任何改变)

原理:后端设置可访问的请求源

缺点:1、设置具体地址,有局限性 2、设置多源(*)就不能允许携带cookie了

举例:

前端发送请求(axios是基于promise封装)

后端设置相关请求: *号为多源,也可以替换为具体地址

3、http proxy (常用)

原理:node + webpack + webpack-dev-server代理接口跨域

4、nginx反向代理 (不需要前端干啥)

5、postMessage

postMessage传递消息

onmessage接受消息

6、WebSocket协议跨域

7、基于iframe的 document.domain

缺点:只能实现:同一个主域,不同子域之间的操作

8、location.hash + iframe

9 、window.name + iframe

到此这篇前端跨域的常用解决方式(前端跨域的常用解决方式有)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • 人人 突破 权限 相册 查看2024-12-12 09:09:04
  • 美女数码宝贝(天女兽、蔷薇兽、花仙兽、莉莉丝兽、维纳斯兽、仙女兽、人鱼兽、古代人鱼兽、丁香兽)2024-12-12 09:09:04
  • 你知道豆瓣电影是怎么评分的吗?2024-12-12 09:09:04
  • 【搬运】我在清华的九年——撰写博士论文的十个步骤2024-12-12 09:09:04
  • 别墅泳池怎么消毒,私家泳池消毒问题2024-12-12 09:09:04
  • druid监控页面关闭(前端监控页面关闭)2024-12-12 09:09:04
  • 前端富文本框(前端富文本框 从word复制的)2024-12-12 09:09:04
  • webflux前景(webflux 前端)2024-12-12 09:09:04
  • 前端工程化的理解面试题(什么是前端工程化.前端面试题)2024-12-12 09:09:04
  • 前端埋点工具(前端埋点插件)2024-12-12 09:09:04
  • 全屏图片