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

  • 单条朋友圈权限设置后还能更改么(某一条朋友圈设置权限)

    单条朋友圈权限设置后还能更改么(某一条朋友圈设置权限)

  • 如何查看微信群建立时间(如何查看微信群里某个人的发言)

    如何查看微信群建立时间(如何查看微信群里某个人的发言)

  • 鸿蒙多机位模式怎么用(鸿蒙多机位模式怎么打开)

    鸿蒙多机位模式怎么用(鸿蒙多机位模式怎么打开)

  • 荣耀怎么导入sim卡联系人(荣耀怎么导入联系人到新手机)

    荣耀怎么导入sim卡联系人(荣耀怎么导入联系人到新手机)

  • 微信手机绑定怎么解除(微信手机绑定怎么解除绑定)

    微信手机绑定怎么解除(微信手机绑定怎么解除绑定)

  • 华为p40lite国内叫什么(华为手机p40lite价格多少)

    华为p40lite国内叫什么(华为手机p40lite价格多少)

  • 苹果手机刚换的电池掉电特别快(苹果手机刚换的新电池电量掉的很快)

    苹果手机刚换的电池掉电特别快(苹果手机刚换的新电池电量掉的很快)

  • 微信语音怎么截图播放(微信语音怎么截图转发)

    微信语音怎么截图播放(微信语音怎么截图转发)

  • qq不小心退群了怎么办(qq不小心退群了如何恢复)

    qq不小心退群了怎么办(qq不小心退群了如何恢复)

  • word中如何删除尾注(word中如何删除整页)

    word中如何删除尾注(word中如何删除整页)

  • 怎样把联通卡提高网速(联通卡内余额怎样转出)

    怎样把联通卡提高网速(联通卡内余额怎样转出)

  • uplink端口是什么意思(uplink端口有什么用)

    uplink端口是什么意思(uplink端口有什么用)

  • qq幸运字符sgr是什么意思(qq幸运字符saly)

    qq幸运字符sgr是什么意思(qq幸运字符saly)

  • 微信注销后好友还能发消息吗(微信注销后好友还有聊天记录吗)

    微信注销后好友还能发消息吗(微信注销后好友还有聊天记录吗)

  • 电脑钉钉群直播互动功能该怎么使用(电脑钉钉群直播怎么进入)

    电脑钉钉群直播互动功能该怎么使用(电脑钉钉群直播怎么进入)

  • 沾沾卡能复制全家福吗(沾沾卡可以指定沾哪张吗)

    沾沾卡能复制全家福吗(沾沾卡可以指定沾哪张吗)

  • 网络机顶盒怎么调试(网络机顶盒怎么看电视直播频道)

    网络机顶盒怎么调试(网络机顶盒怎么看电视直播频道)

  • 电脑改写键是哪个(键盘上的改写键)

    电脑改写键是哪个(键盘上的改写键)

  • maral00是华为什么型号(mar aloo华为什么型号)

    maral00是华为什么型号(mar aloo华为什么型号)

  • oppo文件保险箱的路径(oppo保险箱文件存储路径)

    oppo文件保险箱的路径(oppo保险箱文件存储路径)

  • 苹果储存空间其他是什么(苹果储存空间其他满了怎么清除)

    苹果储存空间其他是什么(苹果储存空间其他满了怎么清除)

  • 微信传照片有限制吗(微信传照片有限额吗)

    微信传照片有限制吗(微信传照片有限额吗)

  • nova5和pro区别(华为nova5和pro的区别)

    nova5和pro区别(华为nova5和pro的区别)

  • 为什么我的朋友圈只能发10秒视频(为什么我的朋友国籍被注销)

    为什么我的朋友圈只能发10秒视频(为什么我的朋友国籍被注销)

  • 小红书怎么添加地址(小红书怎么添加通讯录好友)

    小红书怎么添加地址(小红书怎么添加通讯录好友)

  • 饿了么大牌专享红包怎么用(饿了么大牌专享红包)

    饿了么大牌专享红包怎么用(饿了么大牌专享红包)

  • 苹果14换接口吗详细介绍(苹果14数据线)

    苹果14换接口吗详细介绍(苹果14数据线)

  • 【java】Java连接mysql数据库及mysql驱动jar包下载和使用(java中怎么连接数据库)

    【java】Java连接mysql数据库及mysql驱动jar包下载和使用(java中怎么连接数据库)

  • 探究前端的跑马灯效果是如何用css实现的(前端处理map)

    探究前端的跑马灯效果是如何用css实现的(前端处理map)

  • 小规模纳税人收到专票可以抵扣吗
  • 个体工商户税率2023
  • 会计核算是否健全 填错了有影响吗
  • 企业所得税抵扣项
  • 开发票第一行
  • 税后是含税还是不含税的意思
  • 红字发票做进项转出还是红字负数
  • 房产公司收到的增值税
  • 投资子公司的现金流量
  • 政府给予的工业支出
  • 保险公司多赔付的钱需要退还吗
  • 建筑业在外地预缴了增值税,可以报在本地吗
  • 购买银行理财产品被骗怎么办
  • 专票打印的时候密码区压线了能用吗
  • 小规模附加税怎么计提分录
  • 异常增值税扣税凭证
  • 营改增后如何对建安企业进行税务稽查
  • 投标报价里税金和税率是一个吗
  • 用于当年免征的增值税
  • 公司为员工承担房租
  • 实收金额比应收金额多
  • 房地产行业规定
  • 本年利润余额负数表示什么意思
  • 怎么判断要不要交水利基金
  • 银行票据都有哪些
  • 自然人独资属于什么经济性质
  • win10教育版用户账户控制怎么取消
  • 索尼vpcea200c笔记本
  • mysql的字段类型有哪些
  • 个人之间股权转让印花税怎么交
  • 应交增值税减免税款包括什么
  • 公司的土地
  • 建账初期的库存商品录入
  • php实现查询功能
  • 企业生产车间发生的费用会计科目
  • uniapp自定义导航栏渐变
  • 《设计模式》
  • php对象是值传递还是引用传递
  • 企业利息支出怎么算
  • 个体工商户社保扣费不成功
  • 承税汇票个人能用吗
  • 经典帝国cms生成器下载
  • 银行承兑汇票回头背书
  • 用友t3财务软件价格表
  • 多计提的增值税怎么冲减
  • sql主键是什么意思
  • 有哪些企业项目
  • 进项税抵扣销项税算法
  • 结转完期间损益是不是可以结账了
  • 微信支付的账务在哪里
  • 商品验收入库时怎么做账
  • 报销餐费属于什么费用
  • 专用发票过期未认证最新规定
  • 中小企业做账
  • sqlserver字符串转换成数字
  • mysql删除表数据怎么恢复
  • SQL中实现SPLIT函数几种方法总结(必看篇)
  • Centos7 下Mysql5.7.19安装教程详解
  • mysql求两个字段的和
  • Win10怎么显示我的电脑
  • win10无人值守文件使用方法
  • win10系统玩dnf闪退
  • mac双系统切换快捷键
  • win8的ie浏览器在哪里
  • linux系统服务器怎么进入桌面
  • windows mobile10
  • win7系统自动弹出搜索框
  • easyui选项卡
  • 充分发挥党员的先锋模范作用,积极
  • 统计重复出现的次数
  • python中的条件判断和循环语句
  • python文字检测
  • flask框架官方文档
  • [置顶]bilinovel
  • 方块大作战百科
  • 自然人电子税务局下载
  • 柴油计入什么科目
  • 地税局是政府部门吗
  • 广西税务12366如何交社保
  • 辽宁国税征期日历
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设