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

  • 2017年怎样做好网络推广?(2021年怎么做好工作)

    2017年怎样做好网络推广?(2021年怎么做好工作)

  • 苹果手表如何连接手机(苹果手表如何连接蓝牙耳机)

    苹果手表如何连接手机(苹果手表如何连接蓝牙耳机)

  • word细微效果怎么设置(wordsmartart细微效果)

    word细微效果怎么设置(wordsmartart细微效果)

  • 支付宝体验金在哪里找(支付宝体验金在哪里关闭)

    支付宝体验金在哪里找(支付宝体验金在哪里关闭)

  • 荣耀30青春版怎么显示网速(荣耀30青春版怎么看电池健康)

    荣耀30青春版怎么显示网速(荣耀30青春版怎么看电池健康)

  • 键盘撤回的快捷键在哪(撤回键盘快捷键是什么)

    键盘撤回的快捷键在哪(撤回键盘快捷键是什么)

  • 怎样避免京豆被回收(京东京豆怎么设置不使用)

    怎样避免京豆被回收(京东京豆怎么设置不使用)

  • 腾讯体育会员有什么用(腾讯体育会员有必要开吗)

    腾讯体育会员有什么用(腾讯体育会员有必要开吗)

  • 电脑不用网线怎么上网(电脑不用网线怎么连接打印机)

    电脑不用网线怎么上网(电脑不用网线怎么连接打印机)

  • 无线协议5和6有什么区别(无线协议5和无线协议6路由器的区别)

    无线协议5和6有什么区别(无线协议5和无线协议6路由器的区别)

  • 黑鲨手机充电反复断开怎么办(黑鲨手机充电反复断开还有声音)

    黑鲨手机充电反复断开怎么办(黑鲨手机充电反复断开还有声音)

  • 淘宝买东西店铺不存在了怎么办(淘宝买东西店铺关了,怎么售后)

    淘宝买东西店铺不存在了怎么办(淘宝买东西店铺关了,怎么售后)

  • 什么软件可以视频聊天(什么软件可以视频祛痣)

    什么软件可以视频聊天(什么软件可以视频祛痣)

  • 手机充电插口坏了能修吗(苹果手机充电接口坏了能修吗)

    手机充电插口坏了能修吗(苹果手机充电接口坏了能修吗)

  • 拼多多子账号有什么用(拼多多子账号有出生日期吗怎么查)

    拼多多子账号有什么用(拼多多子账号有出生日期吗怎么查)

  • 微信系统错误请重试怎么解决(微信系统错误请重启手机)

    微信系统错误请重试怎么解决(微信系统错误请重启手机)

  • 手机导航怎么横屏显示(手机导航怎么横竖屏切换)

    手机导航怎么横屏显示(手机导航怎么横竖屏切换)

  • 红米note8pro充电速度(红米note8pro充电器参数)

    红米note8pro充电速度(红米note8pro充电器参数)

  • 三摄像头是不是只有一个在用(三摄像头和两摄像头哪个好)

    三摄像头是不是只有一个在用(三摄像头和两摄像头哪个好)

  • 华为p30Pro怎么不显示快充啦(华为p30pro怎么不休眠)

    华为p30Pro怎么不显示快充啦(华为p30pro怎么不休眠)

  • 手机信号灯怎么设置(手机信号指示灯)

    手机信号灯怎么设置(手机信号指示灯)

  • 华为移动服务可以删吗(华为移动服务是干什么的可以删除么)

    华为移动服务可以删吗(华为移动服务是干什么的可以删除么)

  • iphone6s发烫解决方法(苹果6s手机发烫)

    iphone6s发烫解决方法(苹果6s手机发烫)

  • 淘宝店铺运费模板如何设置(淘宝店铺运费模板怎么删除)

    淘宝店铺运费模板如何设置(淘宝店铺运费模板怎么删除)

  • 哈特谢普苏特女王神庙鸟瞰图,埃及卢克索古城 (© Ratnakorn Piyasirisorost/Moment/Getty Images)(哈特谢普苏特女王享殿)

    哈特谢普苏特女王神庙鸟瞰图,埃及卢克索古城 (© Ratnakorn Piyasirisorost/Moment/Getty Images)(哈特谢普苏特女王享殿)

  • ps抠图教程之使用魔棒工具抠图(ps抠图怎样)

    ps抠图教程之使用魔棒工具抠图(ps抠图怎样)

  • 先包装后销售
  • 分公司需要独立法人吗
  • 异地建厂如何交社保
  • 税前经营利润计算
  • 领的增值税专用发票如何录入电脑
  • 筹建期的收入要交企业所得税吗
  • 装卸搬运的设备有哪些类型
  • 小规模纳税人申报时间
  • 留存收益未分配利润占比
  • 固定资产折旧购买日期还是使用日期呢
  • 小企业会计准则适用于哪些企业
  • 盈余公积转增股本的分录怎么写
  • 无收入证明需要哪些手续
  • 建筑施工企业会计制度
  • 专利技术评估价值入股价偏高说明什么
  • 由于生产工艺改进引起建筑物设备陈旧
  • 公司自建房屋如何进行入账?
  • 提前预支了应得的工资犯法吗
  • 单位收到增值税专用开票人写管理员
  • 增值税普票没有地址电话开户行信息可以吗
  • 怎么查公司连续缴纳社保记录
  • 往来账的作用
  • 项目资本金是什么意思大白话
  • 筹建期发生的费用是放在那个科目
  • 2021windows10专业版
  • 系统日志在哪里打开
  • 如何使用U盘启动盘进行分区
  • 小规模季度不超过30万的账务处理
  • 设备维保费计算标准
  • 金蝶软件反年结账怎么弄
  • win10图片密码怎么全屏显示
  • sethook.exe - sethook进程是什么文件 有何作用
  • 自由职业者如何交五险一金
  • 若依框架前后端分离手机号登录
  • 土地出资是否涉及企业所得税
  • 总部资产减值会考吗
  • windows11安装ubuntu20.04
  • php购物车实现流程
  • 营改增抵减的销项税发票要抵扣吗
  • ipcrm命令
  • php时间戳转换成时间
  • 商业银行贷款的资本充足率
  • 301重定向到https 并且不带www跳转到带www
  • 餐饮业的原材料
  • 怎样网上抄税
  • 开票系统软件升级
  • pycharm cant find main
  • 应税销售额税率
  • 单位购买公文包合法吗
  • 捐赠支出税前扣除标准
  • 免征的增值税如何处理
  • 税盘的服务费
  • 公司参赛获奖交啥税
  • 什么是资金结存,它具体包括哪些内容
  • 个税和社保基数不一致怎么办
  • 工资油补也要交税吗
  • 收付实现制下收入包括增值税吗
  • 资产负债表日指的是什么
  • 中小型企业会计
  • 自制原始凭证的填制
  • sql server创建架构
  • 安装sql server 2008硬件要求
  • mysql绿色版和安装版有什么区别
  • mysql5.5.62安装配置教程
  • mysql 查找
  • mysql 的replace into实例详解
  • mac如何通过终端启动
  • linux 命令提示
  • ubuntu photoshop
  • linux系统的
  • 如何dj
  • win7 64位纯净版系统c盘空间显示与实际占用空间不对的解决方法图文教程
  • Extjs4.0设置Ext.data.Store传参的请求方式(默认为GET)
  • linux运维是必死之路
  • windows恢复版本
  • javascript要怎么学
  • python按行读取文本并输出到excel
  • 安徽省地方税务局刘利庆
  • 进口车区别
  • 沭阳税务局举报电话
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设