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

  • 小米手机怎么修改应用图标(小米手机怎么修改锁屏密码)

    小米手机怎么修改应用图标(小米手机怎么修改锁屏密码)

  • 荣耀9x可以隐藏应用图标吗(荣耀9x可以隐藏软件吗)

    荣耀9x可以隐藏应用图标吗(荣耀9x可以隐藏软件吗)

  • 速龙x4 641相当于i几

    速龙x4 641相当于i几

  • 电脑卡在屏保无法退出怎么办(电脑卡在屏保了没反应怎么办)

    电脑卡在屏保无法退出怎么办(电脑卡在屏保了没反应怎么办)

  • 苹果11忘记锁屏密码怎么办(苹果11忘记锁屏密码停用了怎么办法)

    苹果11忘记锁屏密码怎么办(苹果11忘记锁屏密码停用了怎么办法)

  • 知道qq号都能查到什么信息(知道qq号可以查到对方什么信息)

    知道qq号都能查到什么信息(知道qq号可以查到对方什么信息)

  • vivo手机怎么刷屏(vivo手机怎么刷机)

    vivo手机怎么刷屏(vivo手机怎么刷机)

  • 剪映提取音乐解析失败(剪映提取的音乐怎么剪切)

    剪映提取音乐解析失败(剪映提取的音乐怎么剪切)

  • 手机排线坏了什么症状(手机的排线坏了)

    手机排线坏了什么症状(手机的排线坏了)

  • 闲鱼可以注销账号吗(闲鱼注销账户后还能重新注册吗)

    闲鱼可以注销账号吗(闲鱼注销账户后还能重新注册吗)

  • 申请天猫旗舰店的条件(申请天猫旗舰店的商标必须要35类的吗?)

    申请天猫旗舰店的条件(申请天猫旗舰店的商标必须要35类的吗?)

  • 抖音极速版不能发作品吗(抖音极速版不能切换账号吗)

    抖音极速版不能发作品吗(抖音极速版不能切换账号吗)

  • 笔记本亮度调节失效(笔记本亮度调节没了)

    笔记本亮度调节失效(笔记本亮度调节没了)

  • vooc闪充有什么标志(vooc闪充有哪些手机)

    vooc闪充有什么标志(vooc闪充有哪些手机)

  • iPhone7用pd充电器会坏吗(iphone7p可以用pd充电器吗)

    iPhone7用pd充电器会坏吗(iphone7p可以用pd充电器吗)

  • ipad一直白屏怎么办(ipad总是白屏怎么办?)

    ipad一直白屏怎么办(ipad总是白屏怎么办?)

  • 查找和替换在哪里操作(查找和替换在哪个里面)

    查找和替换在哪里操作(查找和替换在哪个里面)

  • ipad7thgeneration是什么型号

    ipad7thgeneration是什么型号

  • 拼多多电子发票在哪里(拼多多电子发票图片)

    拼多多电子发票在哪里(拼多多电子发票图片)

  • 手机没有计步功能怎么办(为什么手机没有计步)

    手机没有计步功能怎么办(为什么手机没有计步)

  • 手机怎么查驾驶本分(手机怎么查驾驶证吊销时间)

    手机怎么查驾驶本分(手机怎么查驾驶证吊销时间)

  • 米聊怎么随机加好友(米聊怎么添加好友)

    米聊怎么随机加好友(米聊怎么添加好友)

  • 拼多多口令怎么变成链接(拼多多口令怎么用)

    拼多多口令怎么变成链接(拼多多口令怎么用)

  • 三星s10韩版5g中国能用吗(三星galaxy s10韩版5g)

    三星s10韩版5g中国能用吗(三星galaxy s10韩版5g)

  • 荣耀10后壳玻璃怎么换(华为荣耀十后壳玻璃多少钱)

    荣耀10后壳玻璃怎么换(华为荣耀十后壳玻璃多少钱)

  • ios系统和安卓系统的区别(IOS系统和安卓系统互通吗)

    ios系统和安卓系统的区别(IOS系统和安卓系统互通吗)

  • oppok3充电多少w(oppok3充电功率)

    oppok3充电多少w(oppok3充电功率)

  • 虎牙实名认证怎么解除(虎牙实名认证怎么注销)

    虎牙实名认证怎么解除(虎牙实名认证怎么注销)

  • 手机缓存视频如何导出(手机缓存视频如何在电脑上播放)

    手机缓存视频如何导出(手机缓存视频如何在电脑上播放)

  • Win10如何在资源管理器中显示“库”(win10windows资源管理器怎么打开)

    Win10如何在资源管理器中显示“库”(win10windows资源管理器怎么打开)

  • chorme浏览器显示“您的浏览器受管理”是被植入病毒或其它程序了吗?(苹果充电宝怎么验真假)

    chorme浏览器显示“您的浏览器受管理”是被植入病毒或其它程序了吗?(苹果充电宝怎么验真假)

  • 预缴增值税是否要预缴企业所得税
  • 个人出租房屋的个人所得税税率
  • 个人所得税有哪些减免政策
  • 企业跨区变更地址需要多久
  • 培训会议费能否抵扣
  • 新公司注册资金需要实缴吗
  • 建筑服务适用简易计税吗
  • 哪些企业可以享受加计扣除优惠政策?
  • 退货报废计入哪类费用
  • 境内企业借外债最新政策出台
  • 银行本票结算分录
  • 一般纳税人取得3%专票可以抵扣吗
  • 计提递延所得税的会计分录
  • 房地产预售款收条怎么写
  • 租赁类专票不含增值税吗
  • 虚开进项税额转出会计分录
  • 专用发票百万元版申请要求
  • 免税发票上税率是多少
  • 船舶维修价格表2017
  • 开发人员选项怎么改定位
  • 土地闲置费能否扣除
  • 检查所得税发现纳税差异如何调账?
  • 转正工资差额什么意思
  • mac 的系统
  • 出口关税的税率
  • 工资薪金怎么申报9
  • php字符串变量
  • 公司注册资金存在风险吗
  • 增值税专票开错了可以作废吗
  • 单位房转卖
  • 简易计税行业
  • 会计核算中 制度有哪些
  • 待处理财产损益借贷方向
  • 即征即退增值税属于政府补助吗
  • php炫酷代码
  • php支持断点续传吗
  • 其他收益如何核算成本
  • 未摊销完的房租转哪个科目
  • 如何解决Vue3没有代码提示问题?
  • uni-swiper-dot
  • pytorch jit
  • 命令行find
  • 会计记账凭证摘要如何编写
  • 不计入法定期间的情形包括
  • 会计成本确认
  • dedecms模版
  • 工会会计需要会计证吗
  • sqlserver2005 TSql新功能学习总结(数据类型篇)
  • 纳税申报是根据什么填写的
  • 增值税普通发票查询
  • 为什么说运输是实现物流合理化的关键
  • 提取盈余公积金
  • 累计盈余的主要来源有
  • 建造合同收入怎么算
  • 注册公司好麻烦
  • 明细分类账三栏式
  • sqlserver bulkcopy
  • windows server2014 安装 Mysql Applying Security出错的完美解决方法
  • sql实用教程
  • win8 联网
  • xp系统桌面在c盘哪个位置
  • 一键ghost的功能
  • Win7 64位旗舰版中让SSD固态硬盘更快的优化方法
  • opera installer
  • player文件怎么打开
  • win8的应用商店
  • Win10预览版桌面图标和任务栏不翼而飞怎么办?
  • 在ubuntu上安装apache
  • 升级win10后东西还在吗
  • Node.js中的全局变量有哪些
  • node的理解
  • javascript原型
  • javascriptz
  • 税控盘状态
  • 电子办税服务厅怎么开电子发票
  • 湖南省国家税务总局官网登录入口
  • 如何查询税控盘口令和密码
  • 税务风险管理指引
  • 辽宁网上税务
  • 我们是在郑州科技市场的一家公司,想找一个代
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设