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

  • 抖音退货可以申请几次(抖音退货可以申请上门取件吗)

    抖音退货可以申请几次(抖音退货可以申请上门取件吗)

  • 微信拉黑后头像更新能看到吗(微信拉黑后头像会刷新吗)

    微信拉黑后头像更新能看到吗(微信拉黑后头像会刷新吗)

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

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

  • 小米手机该怎么恢复出厂设置(小米手机该怎么隐藏游戏)

    小米手机该怎么恢复出厂设置(小米手机该怎么隐藏游戏)

  • 小米怎样取消休眠断网(小米如何取消休眠状态)

    小米怎样取消休眠断网(小米如何取消休眠状态)

  • icould云盘是什么意思(icould云盘是干啥的)

    icould云盘是什么意思(icould云盘是干啥的)

  • 苹果ID无效或不支持怎么办(苹果id无效或不受支持怎么办)

    苹果ID无效或不支持怎么办(苹果id无效或不受支持怎么办)

  • 8p屏幕c11和c3f通用吗(8p区分屏幕c11和c3f通用吗)

    8p屏幕c11和c3f通用吗(8p区分屏幕c11和c3f通用吗)

  • 微信拉黑在删掉就添加不了了吗(微信拉黑在删掉对方再移出黑名单还能加回来吗)

    微信拉黑在删掉就添加不了了吗(微信拉黑在删掉对方再移出黑名单还能加回来吗)

  • tap加速器是免费的吗(tap tap 加速器)

    tap加速器是免费的吗(tap tap 加速器)

  • iphone xr防水能到什么程度(iphonexr防水能到什么程度)

    iphone xr防水能到什么程度(iphonexr防水能到什么程度)

  • iphone7所有app不推送消息(苹果7手机app图标,不见了怎么办)

    iphone7所有app不推送消息(苹果7手机app图标,不见了怎么办)

  • 微信对方拒收消息对方能看到吗(微信对方拒收消息怎么加好友)

    微信对方拒收消息对方能看到吗(微信对方拒收消息怎么加好友)

  • oppoa73长截图在哪里找(oppoa37m长截屏)

    oppoa73长截图在哪里找(oppoa37m长截屏)

  • ipad2018分辨率怎么调(2018款ipad分辨率)

    ipad2018分辨率怎么调(2018款ipad分辨率)

  • 发出去的微信怎么撤回(发出去的微信怎么修改内容)

    发出去的微信怎么撤回(发出去的微信怎么修改内容)

  • ps如何做菱形(ps如何做菱形背景)

    ps如何做菱形(ps如何做菱形背景)

  • 如何关闭青少年模式显示(如何关闭青少年模式oppo)

    如何关闭青少年模式显示(如何关闭青少年模式oppo)

  • 小米手环4nfc怎样连接微信(小米手环4NFC怎么连小米穿戴)

    小米手环4nfc怎样连接微信(小米手环4NFC怎么连小米穿戴)

  • 苹果x可以用5g网络吗(iphonex能用5g)

    苹果x可以用5g网络吗(iphonex能用5g)

  • 英文双引号怎么打出来(英文双引号怎么替换成中文的)

    英文双引号怎么打出来(英文双引号怎么替换成中文的)

  • 挖孔屏是什么意思(挖孔屏啥意思)

    挖孔屏是什么意思(挖孔屏啥意思)

  • iphonex的的屏是什么材质(苹果x的屏幕是)

    iphonex的的屏是什么材质(苹果x的屏幕是)

  • 锤子手机如何恢复出厂设置(锤子手机如何恢复网络设置)

    锤子手机如何恢复出厂设置(锤子手机如何恢复网络设置)

  • 抖音上的穿越怎么拍的(抖音穿越怎么弄)

    抖音上的穿越怎么拍的(抖音穿越怎么弄)

  • 电脑开机后屏幕是黑的(电脑开机后屏幕不显示)

    电脑开机后屏幕是黑的(电脑开机后屏幕不显示)

  • 什么是全民k歌(什么是全民K歌客户端)

    什么是全民k歌(什么是全民K歌客户端)

  • Linux系统中SSH命令的使用教程(linux ssh命令用法)

    Linux系统中SSH命令的使用教程(linux ssh命令用法)

  • 跨年发票入账账务处理
  • 一般增值税怎么开票的
  • 外资企业能投资国企么
  • 广告设计要交文科生吗
  • 税务系统重置密码
  • 增值税电子普通发票和增值税专用发票区别
  • 累计扣税法什么时候实行的
  • 个税申报 两种方式
  • 汇算清缴退税可以不退吗
  • 企业所得税可以税前扣除的税有哪些
  • 小规模纳税人实收资本印花税如何交
  • 简易征收应纳税额计算
  • 工程预付款包括工人工资吗
  • 收到社保局生育津贴
  • 保安公司怎样上保险
  • 无法读取金税盘时间版本怎么解决
  • 发票经手人和经办人的区别
  • 专票开票信息不填省份可以吗
  • 应付账款转营业外收入需要什么条件
  • 外国人可以参加中国境内的党派或政治团体
  • 注销企业很麻烦
  • 公司员工驻外补贴政策
  • 存货跌价准备的金额
  • 少计提增值税0.01计入营业外
  • 股权变更需要缴纳印花税吗,缴纳多少
  • 周转材料计划成本会计分录
  • 固定资产进项税额转出怎么做账务处理
  • 个人补缴的养老全部划入个人账户
  • 艾灸的好处与功效女人
  • mini program是什么
  • 预算周转金会计怎么做账
  • 待抵扣进项税额借贷方向
  • php流程图
  • yolov5目标检测流程图
  • 固定资产清理销售的收入
  • wndgui降级
  • mac安装mysql8.0
  • 融资购买固定资产账务处理
  • 装修店面装修费的会计分录
  • 增值税进项发票勾选认证流程
  • 材料成本差异的超支与节约
  • 原材料用于加工什么
  • sqlalchemy mongodb
  • 对公账户有法律效力吗
  • 外贸出口企业的收入交增值税吗
  • 关税完税价格如何计算消费税
  • 劳务报酬所得是否含增值税
  • 装修费摊销年限规定会计分录
  • 其他权益工具投资公允价值变动计入什么科目
  • 企业办理名称变更怎么办
  • 小微企业不用缴纳社保可以吗现在
  • 损益类所得税费用
  • 营业外支出科目核算内容
  • 工资可以当月发放当月计提吗
  • 小规模纳税人标准500万是含税吗
  • 事业单位开的发票
  • mysql5.7免安装版配置
  • mysql批量添加字段
  • 虚拟机ubuntu20.04
  • windows7桌面出现一个窗口删除不了
  • win10系统如何快速打开控制面板
  • window7优盘不显示
  • win10 自带软件
  • cygwin下载教程
  • win7系统怎么开wifi热点
  • linux crontab用法
  • 批处理 全局变量
  • bootstrap入门
  • javascript教程完整版
  • mod兼容性
  • android使用so
  • js表单事件有哪些
  • 简单的jquery插件实例
  • 图片旋转鼠标键盘怎么弄
  • 江苏税务开发票
  • 税务工会费缴费标准
  • 个人所得税票样
  • 留学生在美国买房子需要什么条件
  • 地税怎么查个人所得税
  • 地税公职律师招聘
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设