位置: 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的网址)

  • 微信电脑版怎么删群(微信电脑版怎么@别人)

    微信电脑版怎么删群(微信电脑版怎么@别人)

  • 华为手机如何自定义图标(华为手机如何自定义壁纸)

    华为手机如何自定义图标(华为手机如何自定义壁纸)

  • 华为nova5i信息不显示怎么弄(华为nova5ipro短信不显示)

    华为nova5i信息不显示怎么弄(华为nova5ipro短信不显示)

  • 运算器的组成部分包括(运算器的组成部分包括译码器吗)

    运算器的组成部分包括(运算器的组成部分包括译码器吗)

  • 安卓禁止软件自动更新(安卓禁止软件自动运行)

    安卓禁止软件自动更新(安卓禁止软件自动运行)

  • 抖音关注请求是什么(抖音关注请求是自动推送的吗)

    抖音关注请求是什么(抖音关注请求是自动推送的吗)

  • hdaudio接主板哪里(hdaudio接主板哪里华硕b660m)

    hdaudio接主板哪里(hdaudio接主板哪里华硕b660m)

  • 一个手机卡可以办几个副卡(一个手机卡可以注册几个微信号码)

    一个手机卡可以办几个副卡(一个手机卡可以注册几个微信号码)

  • iphonexgsm和global什么意思(iphonexgsm和global如何判断)

    iphonexgsm和global什么意思(iphonexgsm和global如何判断)

  • lio-al00是什么型号(alo-al00是什么型号)

    lio-al00是什么型号(alo-al00是什么型号)

  • 微信拉黑名单聊天记录会没有嘛(微信拉黑名单聊天记录还在吗)

    微信拉黑名单聊天记录会没有嘛(微信拉黑名单聊天记录还在吗)

  • 11 pro max是双卡吗(11promax是双卡手机吗)

    11 pro max是双卡吗(11promax是双卡手机吗)

  • matepadpro上市时间(matepad pro 发布)

    matepadpro上市时间(matepad pro 发布)

  • p30无线充电怎么开启(p30无线充电设置)

    p30无线充电怎么开启(p30无线充电设置)

  • letvx500是什么型号

    letvx500是什么型号

  • qq被冻结了邮箱还能上去吗(qq被冻结了邮箱怎么使用)

    qq被冻结了邮箱还能上去吗(qq被冻结了邮箱怎么使用)

  • 小米9信号不稳定经常无信号(小米信号不稳定怎么回事,一会儿H+以后4G)

    小米9信号不稳定经常无信号(小米信号不稳定怎么回事,一会儿H+以后4G)

  • stat2和stat3接口通用吗(stat3接口图片)

    stat2和stat3接口通用吗(stat3接口图片)

  • g90t相当于骁龙什么处理器(g90t相当于骁龙多少?)

    g90t相当于骁龙什么处理器(g90t相当于骁龙多少?)

  • ipad2多大的屏幕尺寸(ipad2多少寸屏幕)

    ipad2多大的屏幕尺寸(ipad2多少寸屏幕)

  • mate20pro有耳机孔吗(mate20pro自带耳机)

    mate20pro有耳机孔吗(mate20pro自带耳机)

  • 微信禁言要多久恢复(微信禁言多久自动解禁)

    微信禁言要多久恢复(微信禁言多久自动解禁)

  • 服务器和工作站的区别(服务器和工作站哪个好)

    服务器和工作站的区别(服务器和工作站哪个好)

  • 钉钉留言在哪(钉钉留言在哪里)

    钉钉留言在哪(钉钉留言在哪里)

  • oppo小欧在哪打开(oppok1小欧在哪打开)

    oppo小欧在哪打开(oppok1小欧在哪打开)

  • schupd.exe - schupd是什么进程 有什么用

    schupd.exe - schupd是什么进程 有什么用

  • 企业所得税年报怎么查询
  • 新成立的小规模纳税人怎么报印花税
  • 广告公司与广告公司合作的协议
  • 电信宽带个人和公司办收费标准
  • 折旧会影响利润表吗
  • 预包装食品是否备案怎么查询
  • 洗车费怎么做会计分录
  • 事务所和公司的专利工程师
  • 建筑简易征收的合同怎么写
  • 借款利息支出全部可以税前扣除吗
  • 企业政府性征地补偿款如何合法使用
  • 收取员工宿舍租金收入要交增值税吗
  • 进货发票未到怎么做账
  • 没有税收编码的发票怎么开具红字票
  • 商贸有限公司要报地税吗
  • 拒绝税务检查的情形
  • 简要回答建筑企业如何实现利润最大化
  • 钢结构安装有哪些工种
  • 2017年7月后手撕发票还能报销吗?
  • 未在规定期限内发出追索通知
  • 一般纳税人简易征收范围
  • 收到保险返利计入什么
  • 为什么增值税不影响利润
  • 一年内到期的应收质保金
  • 销售方开具的红字信息表
  • 管网设计费用取费标准
  • 小规模企业转为一般纳税人怎么做会计分录
  • 个税系统怎么查个人申报数据明细
  • 无法收回的账务处理
  • 在win7中怎么安转只兼容win10的软件
  • 对账工作的主要内容为什么不包括账表核对
  • 打样费入什么科目
  • 长期待摊费用科目还用吗
  • 如何解决win7系统不稳定
  • ajax调用php函数
  • 企业备用金多久还款
  • find.exe应用程序错误
  • 个税六项专项扣除是什么
  • php实现文件下载功能
  • php实用的案例
  • wedp是什么文件
  • 老电脑更新系统会怎么样
  • 爱德华多·阿涅利
  • 免征企业所得税的有
  • rk3566 rk3288
  • 核心书评价格
  • springboot+chatgpt+chatUI Pro开发智能聊天工具
  • 新开企业如何在电子税务局操作
  • 小微企业开具增值税专票
  • 小规模纳税人当月应交增值税怎么算
  • inner join用法示例
  • mysql好在哪里
  • linux mongodb配置文件
  • 已认证发票对方作废后不重开怎么办
  • 收到退货怎么做会计分录
  • sql server 2005数据库备份
  • 高速公路费如何查询
  • 库存商品转成本意味着什么
  • 供应商费用是什么
  • 来料加工的增值税怎么核算
  • 厂商租赁公司
  • 未开票收入如何纳税申报
  • 生产车间生产工人的薪酬计入什么
  • 交易性金融资产的入账价值
  • SQLServer XML查询快速入门(18句话)
  • winserver2008开机启动
  • 卡巴斯基 试用
  • Win7/Win8/Win10单、多系统一键安装教程 只需30秒!
  • ubuntu photoshop
  • mac的分辨率怎么调
  • linux 图形
  • win10无法收到wifi
  • centos 查看用户命令
  • android开发webview
  • css如何控制图片位置
  • css fontstyle
  • input输入@弹出框
  • 县税务局可以去市里吗
  • 广东每年交多少税给国家
  • 企业支付的年度报告审计费
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设