位置: IT常识 - 正文

解决前端跨域的几种方法(前端解决跨域问题的8种方案(最新最全))

编辑:rootadmin
解决前端跨域的几种方法

推荐整理分享解决前端跨域的几种方法(前端解决跨域问题的8种方案(最新最全)),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:前端解决跨域问题的8种方案(最新最全),前端解决跨域问题的8种方案(最新最全),前端解决跨域问题的8种方案(最新最全),前端跨域产生的原因和解决方法,前端跨域问题解决办法,前端解决跨域问题的8种方案(最新最全),解决前端跨域的问题,前端解决跨域的几种办法,内容如对您有帮助,希望把文章链接给更多的朋友!

一、跨域报错

        在我们实际开发过程中,都有遇到过跨域的问题,跨域报错如下:

二、为什么会报跨域?

        跨域的本质是浏览器基于同源策略的一种安全手段,主要是考虑到用户的信息安全。何为同源策略呢?同源策略是一种约定,它是浏览器最核心也最基本的安全功能。所谓同源(即指在同一个域)具有以下三个相同点:协议相同、域名相同、端口相同。

        反之非同源请求,也就是协议、端口、主机其中一项不相同的时候,这时候就会产生跨域。跨域是浏览器的限制,拦截的是响应而非请求。我们用抓包工具抓取接口数据,可以看到接口已经把数据返回来了,只是由于浏览器的限制我们获取不到数据。另外,并不是所有的跨域都会有问题,只有ajax和fetch产生的跨域才会被浏览器限制。

三、如何解决跨域?

(1)JSONP

        JSONP是一种比较古老的解决方案,这种方案没有兼容性问题,基本都可以使用,但是它所解决的问题比较有限,且对服务端接口有一定的要求,只支持get请求,不支持post,请求回来的东西当做js来执行。

        原理:JSONP本质上使用的是script标签的src属性,该标签有跨域请求资源的能力,且请求的资源类型是js脚本。也就是说,我们需要在服务器给返回一段js脚本,并且把要返回给前端的数据加入到这段js脚本中。在浏览器端执行这段脚本,从而达到获取数据的目的。

解决前端跨域的几种方法(前端解决跨域问题的8种方案(最新最全))

(2)CORS

        CORS是 W3C 标准,属于跨源 ajax请求的根本解决方法。CORS 规范中,清楚定义了跨域存取控制的运作方式。首先,服务端需要在响应头中加上如Access-Control-Allow-Origin、Access-Control-Request-Method、Access-Control-Request-Headers 等设定,来限制服务器所能接受的来源、请求的方法、可携带的头等等。

        当浏览器发送资源请求时,如果是简单请求便会直接送出请求;若不符合前述条件,则会通过预检请求,确认是否可以通过服务器的限制,然后才会发送正式的请求。

        简单说,该方法只需要直接让后端设置响应头,允许资源共享就ok了,前端不需要做额外修改。

(3)Proxy

        浏览器是禁止跨域的,但是服务端不禁止。拿Vue项目说,在本地运行npm run dev等命令时实际上是用node运行了一个服务器,因此proxyTable实际上是将请求发给自己的服务器,再由服务器转发给后台服务器,做了一层代理,因此不会出现跨域问题。

        Vue-cli脚手架, 就启动了一个webpack开发服务器, 它就能做代理转发,我们只需要修改webpack开发服务器的配置即可。

Vue.config.js:

        总结一下就是,在前端服务和后端接口服务之间 架设一个中间代理服务,它的地址保持和前端服务一致,那么,代理服务和前端服务之间由于协议、域名、端口三者统一不存在跨域问题,可以直接发送请求;代理服务和后端服务之间由于并不经过浏览器,没有同源策略的限制,也可以直接发送请求。这样,我们就可以通过中间这台服务器做接口转发,在开发环境下解决跨域问题,看起来好像挺复杂,其实vue-cli已经为我们内置了该技术,我们只需要按照要求配置一下即可。

当然,解决跨域的方法不止这些,比如nginx反向代理等方式也可以解决跨域问题。大家可以结合实际采取最简洁方便的方式。

本文链接地址:https://www.jiuchutong.com/zhishi/295684.html 转载请保留说明!

上一篇:19个可用的天气和气候数据集(有哪些天气软件)

下一篇:【HTML】HTML网页设计----动漫网站设计(html的网址)

  • 企业网络营销十项实战技巧(网络营销企业有哪些营销策略)

    企业网络营销十项实战技巧(网络营销企业有哪些营销策略)

  • 抖音怎么不看某个人的作品(抖音怎么不看某个朋友的推荐)

    抖音怎么不看某个人的作品(抖音怎么不看某个朋友的推荐)

  • 微信识别二维码会中毒吗(微信识别二维码慢怎么回事)

    微信识别二维码会中毒吗(微信识别二维码慢怎么回事)

  • 蜂窝数据打开连不上网(蜂窝数据打开连热点)

    蜂窝数据打开连不上网(蜂窝数据打开连热点)

  • 微信账单下载会显示删除的吗(微信账单下载会有记录吗)

    微信账单下载会显示删除的吗(微信账单下载会有记录吗)

  • 抖音横屏加字幕怎么做的?(抖音横屏字幕怎么设置在屏幕外)

    抖音横屏加字幕怎么做的?(抖音横屏字幕怎么设置在屏幕外)

  • 别人登我QQ会看见聊天记录吗(别人登我qq会看到删除的消息框吗)

    别人登我QQ会看见聊天记录吗(别人登我qq会看到删除的消息框吗)

  • 键盘num灯亮按键无反应(电脑键盘num灯一直亮)

    键盘num灯亮按键无反应(电脑键盘num灯一直亮)

  • 投影仪侧投和直投区别(投影仪侧投和直投怎么放)

    投影仪侧投和直投区别(投影仪侧投和直投怎么放)

  • 京东碎屏险是原装的吗(京东上的碎屏险是换原装配件吗)

    京东碎屏险是原装的吗(京东上的碎屏险是换原装配件吗)

  • qq名片赞怎么清除到0(qq名片赞如何清零)

    qq名片赞怎么清除到0(qq名片赞如何清零)

  • 抖音黑屏特效怎么弄(抖音屏幕黑黑的是什么特效)

    抖音黑屏特效怎么弄(抖音屏幕黑黑的是什么特效)

  • adb调试是什么意思(adb调试模式)

    adb调试是什么意思(adb调试模式)

  • 怎么样在微信里授权抖音登录(怎么样在微信里关闭自动续费)

    怎么样在微信里授权抖音登录(怎么样在微信里关闭自动续费)

  • vue视频可以加字幕吗(vue怎么在视频里加图片)

    vue视频可以加字幕吗(vue怎么在视频里加图片)

  • ios12如何清理数据(ios12怎么清理内存)

    ios12如何清理数据(ios12怎么清理内存)

  • 苹果备忘录怎么换颜色(苹果备忘录怎么调字体大小)

    苹果备忘录怎么换颜色(苹果备忘录怎么调字体大小)

  • 如何查找wifi的密码(怎么查找wlan)

    如何查找wifi的密码(怎么查找wlan)

  • 京东咋样取消申请退款(京东申请取消订单怎么取消)

    京东咋样取消申请退款(京东申请取消订单怎么取消)

  • 换后压屏有啥影响吗(换后压屏有啥影响嘛)

    换后压屏有啥影响吗(换后压屏有啥影响嘛)

  • 函数now 的含义(now函数是什么函数)

    函数now 的含义(now函数是什么函数)

  • word2010文档的文件扩展名是(word2010文档的文件扩展名默认是)

    word2010文档的文件扩展名是(word2010文档的文件扩展名默认是)

  • s8过热保护能关闭吗(过热保护怎么关)

    s8过热保护能关闭吗(过热保护怎么关)

  • win10管理无线网络在哪(w10管理无线网络在哪)

    win10管理无线网络在哪(w10管理无线网络在哪)

  • 千库网如何用微信密码登录(怎么在千库网挣钱)

    千库网如何用微信密码登录(怎么在千库网挣钱)

  • 关键词优化方法(关键词优化十大方法)

    关键词优化方法(关键词优化十大方法)

  • mac系统怎么给iphone7和iphone7plus自定义电话铃声?(mac怎么airdrop给ipad)

    mac系统怎么给iphone7和iphone7plus自定义电话铃声?(mac怎么airdrop给ipad)

  • 实际已缴纳所得税额不自动带出
  • 企业理财收入如何确定
  • 使用党费要向哪里倾斜
  • 商超陈列费
  • 有限合伙企业经营期限多久
  • 建设工程中税费如何承担
  • 其他应收款转入实收资本
  • 不相关企业之间调拨资产该如何做账务处理?
  • 用来退税的进项怎么抵扣
  • 季度奖金个人所得税怎么算
  • 其他应收款在资产负债表中是负数
  • 车间管理人员工作总结
  • 服装外贸进出口
  • 在建工程预转固后又有工程款
  • 工资是一定是月薪吗
  • 管理费用劳务费现金流
  • 废料出售收入
  • 资产负债率是用年初和年末数吗
  • 包装本公司产品的出口包装物是否缴增值税?
  • 去银行补充企业信息流程
  • win10如何设置右键
  • 对外投资收益要交税吗
  • linux 部署
  • 刚成立的公司有什么风险
  • 如何手机个人热点连电脑
  • 参保各险种人数统计
  • 会计中记账凭证的名词解释
  • vue使用render
  • 笔记本cpu温度高如何处理
  • 房屋租赁经营要交哪些税
  • 老板垫付的货款会计分录
  • 购货方退货并已签收
  • 考研408怎么样
  • vue插槽的使用场景
  • 成本法变为权益法合并层面计算投资收益
  • 营运资金需求量测算表格
  • 金税盘证书已冻结怎么解决
  • 个人发票抬头是自己的名字吗
  • php前台模板
  • 银行结算方式有哪几种方式?其具体内容是什么?
  • 采购商品没有进账怎么做账
  • 跨月红字发票开错了可以撤销吗
  • 什么是虚开增值发票
  • 对公账户里的钱怎么转出来合法
  • 股东变更会计处理
  • 其他应收款财务报表取数
  • 小微企业季度收入
  • 研发费用摊销方法
  • 预收租金发票怎么开
  • 应收账款无法收回会计分录
  • 实物返利的税务处理
  • 上年度多提财务费用
  • 建筑企业收挂靠公司管理费如何做账?
  • 工程物资原材料在资产负债表哪个科目体现
  • 代理记账需要什么章
  • 税务入账的加油费怎么算
  • 免税收入怎么申报增值税
  • 销项税小于进项税怎么结转
  • sql server数据库怎么使用
  • 启动sqlserver服务的命令
  • 深度解析桂附地黄丸
  • mysql mac下载
  • macos mysql
  • WINDOWS操作系统内置的GUEST
  • win8系统怎么设置密码
  • win7桌面右下角
  • easyui给下拉框赋值
  • rmxp4droid for 天敏电视盒子
  • cocos2d怎么用
  • flask开发实例
  • bash shell 语法
  • 批处理for /f
  • before和after在句子中怎么翻译
  • python读取文件的操作方法
  • 北京朝阳地税搬哪去了
  • 出租车开的发票如何查询校验码?
  • 为什么登录不了福建社保网站
  • 什么叫以物易物
  • 苏州相城离苏州市区有多远
  • 2015年中国出口退税新政策
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设