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

  • vivo手机下拉状态栏怎么设置(vivo手机下拉状态栏怎么关闭)

    vivo手机下拉状态栏怎么设置(vivo手机下拉状态栏怎么关闭)

  • 怎么清理微信聊天图片和视频(怎么清理微信聊天的文件)

    怎么清理微信聊天图片和视频(怎么清理微信聊天的文件)

  • 华为手机指纹锁怎么设置(华为手机指纹锁没有了)

    华为手机指纹锁怎么设置(华为手机指纹锁没有了)

  • 一加六t手机发布时间(一加6动不动发烫)

    一加六t手机发布时间(一加6动不动发烫)

  • 视频和文档放在一个文件夹(视频和文档放在一个文件夹压缩)

    视频和文档放在一个文件夹(视频和文档放在一个文件夹压缩)

  • 苹果手机控制中心划不出来了怎么办(苹果手机控制中心在哪里打开)

    苹果手机控制中心划不出来了怎么办(苹果手机控制中心在哪里打开)

  • 荣耀v30和荣耀v30p区别?(荣耀v30和荣耀v30por)

    荣耀v30和荣耀v30p区别?(荣耀v30和荣耀v30por)

  • 拼多多退货太频繁运费险取消(拼多多退货太频繁运费险取消了怎么办)

    拼多多退货太频繁运费险取消(拼多多退货太频繁运费险取消了怎么办)

  • 淘宝账号降权了,什么时候可以恢复正常呢(淘宝账号降权了可以注销吗)

    淘宝账号降权了,什么时候可以恢复正常呢(淘宝账号降权了可以注销吗)

  • h55主板支持什么内存(h55主板支持什么固态硬盘)

    h55主板支持什么内存(h55主板支持什么固态硬盘)

  • 微信被拒收的信息对方能看到吗(微信被拒收的信息对方会有提示吗)

    微信被拒收的信息对方能看到吗(微信被拒收的信息对方会有提示吗)

  • 微信视频对方看到的和自己看到的是一样吗(微信视频对方看我模糊怎么回事)

    微信视频对方看到的和自己看到的是一样吗(微信视频对方看我模糊怎么回事)

  • 微信备注对方能看见吗(微信备注对方会知道吗)

    微信备注对方能看见吗(微信备注对方会知道吗)

  • 无法发起投诉怎么办(无法投诉商家的解决办法)

    无法发起投诉怎么办(无法投诉商家的解决办法)

  • 内存储器分为哪三种(内存储器分为哪三部分)

    内存储器分为哪三种(内存储器分为哪三部分)

  • ipad air3充电要多久(ipadair3一般充电多久)

    ipad air3充电要多久(ipadair3一般充电多久)

  • ps怎么减去顶层(ps里面怎么减去顶层)

    ps怎么减去顶层(ps里面怎么减去顶层)

  • 拼多多免拼怎么弄(拼多多免拼怎么取消订单)

    拼多多免拼怎么弄(拼多多免拼怎么取消订单)

  • 金立双卡双待设置方法(金立手机装两张卡怎么设置)

    金立双卡双待设置方法(金立手机装两张卡怎么设置)

  • 断电后监控还会记录吗(断电后监控还会录像吗)

    断电后监控还会记录吗(断电后监控还会录像吗)

  • 苹果x支持红外遥控吗(苹果X支持红外模式吗)

    苹果x支持红外遥控吗(苹果X支持红外模式吗)

  • 华为nxtcl00什么型号

    华为nxtcl00什么型号

  • qq如何关闭精选照片(qq如何关闭精选照片一栏)

    qq如何关闭精选照片(qq如何关闭精选照片一栏)

  • 苹果耳机声音小(苹果耳机声音小怎么回事)

    苹果耳机声音小(苹果耳机声音小怎么回事)

  • Win10自带播放器出现故障无法播放任何视频(win10自带播放器不见了)

    Win10自带播放器出现故障无法播放任何视频(win10自带播放器不见了)

  • B/S架构(b/s架构的正确解释方式)

    B/S架构(b/s架构的正确解释方式)

  • 一般纳税人年末结转增值税的账务处理
  • 预收账款转营业外收入账务处理
  • 税控盘未清卡怎么办
  • 佣金开什么发票
  • 分步法和分批法思维导图
  • 非居民税收征管方式包括
  • 公司清算后未处理财产
  • 赡养老人专项附加扣除可以是爷爷奶奶吗
  • 年末发票
  • 应收账款折扣怎么计算
  • 不动产租赁异地预缴需要携带什么
  • 发票购方税号是什么意思
  • 没有进项发票怎么出口报关
  • 单位互换房产税收优惠政策
  • 企业法人信息变更
  • 已抵扣发票丢失如何处理
  • 小规模购买财务软件怎么做分录
  • 不动产进项税额怎么算
  • 保险车辆折旧的计算方法有哪些
  • 简易计税开票开成了一般计税的税率会比对不通过吗
  • 网上代开专票 附加税在哪看
  • 个税缴纳期数填1是什么意思
  • 滴滴出行电子发票备注怎么写
  • 建筑工程分包怎么纳税
  • win都是10 怎么办
  • 房地产企业预缴增值税如何申报
  • 5000以下的固定资产当月一次性扣除怎么申报
  • w7com端口设置
  • 发工资扣的个人社保计入哪个科目
  • 苹果14出来13会下架吗
  • php实现的中秋博饼游戏之掷骰子并输出结果功能详解
  • linux gcc命令详解
  • 个人向公司借款模板
  • linux系统输入
  • 怎么登明细分类账
  • Jetson Xavier NX配置全过程——安装jtop和OpenCV4.5.3(二)
  • 房屋出租房产税如何计算
  • php的header函数
  • php输出mysql查询结果
  • htmlspecialchars_decode
  • php中定义函数
  • 货到付款付的是什么费用
  • 发票作废申请书模板
  • 用于应酬用的烟有哪些
  • 个人所得税申报方式选哪个比较好
  • python搜索函数
  • 成本会计的岗位要求
  • 规模以上企业纳税要求
  • 暂时进境货物如何申报
  • 建筑发票开具与土增税扣有什么关系?
  • 少数股东权益贷方表示什么意思
  • 附加税多交了怎么抵税
  • 临时售楼处需要什么手续
  • 应该是先付款还是先开发票
  • 按公允价值入账的有哪些
  • 公司社保委托代发银行是工资卡银行吗
  • 结转清理净损失怎么算
  • 转出未交增值税借方余额怎么处理
  • 税务局三代手续费是什么
  • 红字发票开出的单价可以比蓝字发票高吗?
  • mysql太慢
  • mysql的基本sql语句
  • win7注册表有什么用
  • 在windows xp
  • xp无法启动如何修复
  • yosemite10.10.3beta3下载地址 os x10.10.3beta3官网下载
  • tracert命令的功能和用法
  • linux系统磁盘管理的主要内容
  • 安装samba服务器步骤
  • win7系统纯净版64位无法修改窗口颜色怎么办?Win7窗口颜色修改详细步骤
  • jQuery实现别踩白块儿网页版小游戏
  • 计算机网络设计
  • 脚本控制三行三列怎么写
  • 使用linux的收获心得
  • Vue.js与 ASP.NET Core 服务端渲染功能整合
  • dom编程艺术这本书好吗
  • 安卓系统滑动设置
  • jquery动态创建元素
  • 调查问卷的背景资料怎么写
  • 关于增值税和消费税两者之间关系的说法错误的是
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设