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

  • p40pro微信如何打开美颜视频(华为p40微信按键音怎么调出来)

    p40pro微信如何打开美颜视频(华为p40微信按键音怎么调出来)

  • qq电脑端自动回复如何删除(qq电脑怎么自动回复)

    qq电脑端自动回复如何删除(qq电脑怎么自动回复)

  • rtx3000显卡什么水平

    rtx3000显卡什么水平

  • 苹果换手机app怎么转移(苹果换手机app怎么传照片)

    苹果换手机app怎么转移(苹果换手机app怎么传照片)

  • 微信怎样查好友删除了自己(微信怎样查好友来源)

    微信怎样查好友删除了自己(微信怎样查好友来源)

  • 文件中转站删除后空间仍不足(文件中转站删除后对方能下载吗)

    文件中转站删除后空间仍不足(文件中转站删除后对方能下载吗)

  • 苹果11拍视频怎么打开闪光灯(苹果11拍视频怎么设置最清晰)

    苹果11拍视频怎么打开闪光灯(苹果11拍视频怎么设置最清晰)

  • 网速慢是怎么回事(网速慢是怎么回事?)

    网速慢是怎么回事(网速慢是怎么回事?)

  • 打印机显示文档被挂起是什么意思(打印机显示文档等待中不打印)

    打印机显示文档被挂起是什么意思(打印机显示文档等待中不打印)

  • vivo手机有siri功能吗(vivo的siri在哪)

    vivo手机有siri功能吗(vivo的siri在哪)

  • 苹果换了id为何更新软件还是旧id(iphone id换了怎么还是之前的id)

    苹果换了id为何更新软件还是旧id(iphone id换了怎么还是之前的id)

  • 线上商城是什么意思(线上商城是什么单位)

    线上商城是什么意思(线上商城是什么单位)

  • 一个身份证可以注册几个拼多多店铺(一个身份证可以办几个手机卡)

    一个身份证可以注册几个拼多多店铺(一个身份证可以办几个手机卡)

  • 抖音为什么不显示音浪了(抖音为什么不显示火花)

    抖音为什么不显示音浪了(抖音为什么不显示火花)

  • 腾讯会议用流量多吗(腾讯会议用流量开视频半个小时要多少流量)

    腾讯会议用流量多吗(腾讯会议用流量开视频半个小时要多少流量)

  • gms有什么用(gms有什么用处)

    gms有什么用(gms有什么用处)

  • 普通手环怎么充电(手环应该怎么充电)

    普通手环怎么充电(手环应该怎么充电)

  • 华为卡槽弹不出的原因(华为卡槽弹不出来要拆开修吗)

    华为卡槽弹不出的原因(华为卡槽弹不出来要拆开修吗)

  • 苹果抖音没有小程序怎么办(苹果抖音没有小火苗)

    苹果抖音没有小程序怎么办(苹果抖音没有小火苗)

  • 苹果店换屏是原装吗(苹果换屏原装屏拿走)

    苹果店换屏是原装吗(苹果换屏原装屏拿走)

  • 微博怎么设置密码(微博怎么设置密码锁屏)

    微博怎么设置密码(微博怎么设置密码锁屏)

  • 支付宝更新后打不开怎么办(支付宝打电话更新信息)

    支付宝更新后打不开怎么办(支付宝打电话更新信息)

  • ncp是什么(ncp是什么协议)

    ncp是什么(ncp是什么协议)

  • 手机开飞行模式闹钟会响吗(手机开飞行模式打电话过来会怎样)

    手机开飞行模式闹钟会响吗(手机开飞行模式打电话过来会怎样)

  • 安卓手机怎样连接u盘(安卓手机怎样连接苹果耳机)

    安卓手机怎样连接u盘(安卓手机怎样连接苹果耳机)

  • airpods序列号怎么查(airpods序列号怎么看是不是国行)

    airpods序列号怎么查(airpods序列号怎么看是不是国行)

  • 趣步贡献值有什么作用(趣步1848加成活跃度)

    趣步贡献值有什么作用(趣步1848加成活跃度)

  • ppt图表编辑数据没反应(ppt图表编辑数据图表不变)

    ppt图表编辑数据没反应(ppt图表编辑数据图表不变)

  • Docker 部署 分布式搜索引擎 Elastic Search(docker部署架构图)

    Docker 部署 分布式搜索引擎 Elastic Search(docker部署架构图)

  • 保险税优识别码是保单号吗
  • 企业合并怎么处理
  • 简易计税是否要申报个税
  • 委托加工物资属于企业资产吗
  • 国税地税合并后叫什么名称
  • 个人所得税生产经营所得税率
  • 固定资产管理中存在的问题及对策论文
  • 如何建设工厂
  • 收到工伤赔偿款会计分录
  • 小规模纳税人每个月需要报什么税
  • 制造业印花税计税,按照去税金额计算
  • 企业网银电子商务收入是什么
  • 无形资产出租后还要摊销吗
  • 公司买车付首付款个人还贷怎么做会计分录
  • 公司向个人借入资金的风险
  • 收到发票怎么记账
  • 可以给行政事业单位开增值税专用发票吗
  • 中标服务费直接按开票金额付款吗
  • 非货币性资产交换准则
  • 年初未分配利润在借方表示什么
  • 个人车卖给公司可以抵税吗
  • 个税缴纳期数填1是什么意思
  • 电脑主板上的电池没电了会怎么样
  • 城镇土地使用税优惠政策
  • 购货优惠的会计科目
  • win7打开软件提示0xc0000005
  • 利息收入结转的正确分录
  • 罚款应该计入营业所吗
  • 营业利润是怎么计算的?
  • 企业所得税的概述
  • 过路费进项税抵扣填在纳税申报的哪行
  • 其他应收和其他应付可以共用吗
  • vue 右键菜单
  • 金税盘不能清卡的原因
  • 生产企业免抵退税实例
  • 建筑企业分项目信息采集表怎么填
  • php实现二叉树
  • smart局部变量
  • 公司变更需要哪些资料~问华杰 财务
  • mfcc特征提取过程
  • 前端实战开发
  • imx6ul开源项目
  • 自费出版违法吗
  • springmvc简介
  • 增值税销项税红字应如何报税
  • 公司购买办公家具可以抵扣吗
  • 前端动画库
  • 简易征收3%的征收率是什么意思
  • 普票和专票的
  • 专项资金支出明细表范文
  • 发行股票时支付的手续费
  • sql数据对比语句
  • 企业收到退回的银行汇票多余款项
  • 应交税金在贷方是什么意思
  • 购进商品用于销售
  • 在税收方面属于什么领域
  • 堤围防护费是什么
  • 不动产计提折旧时间
  • 财务费用明细账图片
  • 接受捐赠可以确认为收入吗
  • 损益明细表计提企业所得税
  • 收到其他应付款会计分录
  • 通信费抬头为个人
  • 总分机构和分总机构的区别
  • 营业执照可以注册几个抖音号
  • mysql基本介绍
  • mysql数据库中SELECT * FROM是什么
  • win8怎么进去安全模式
  • 如何设置win10自动登录
  • JavaScript数组去重
  • nodejs文件操作
  • javascript函数自调用
  • angularjs2
  • JavaScript中的this指向
  • python 断言详细讲解用法及其案例
  • python设颜色代码
  • csp2020成绩查询
  • 保险公司代收2.8万
  • 申报地税的流程图
  • 刚注册了一家深圳公司
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设