位置: IT常识 - 正文

解决has been blocked by CORS policy: No ‘Access-Control-Allow-Origin’报错跨域问题(解决口苦最快的方法)

编辑:rootadmin
解决has been blocked by CORS policy: No ‘Access-Control-Allow-Origin’报错跨域问题 关于前后端分离踩过的坑

推荐整理分享解决has been blocked by CORS policy: No ‘Access-Control-Allow-Origin’报错跨域问题(解决口苦最快的方法),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:解决脱发的8个方法,解决口苦最快的方法,解决中暑最有效方法,解决中暑最有效方法,解决烧心最快方法,解决中暑最有效方法,解决中暑最有效方法,解决烧心最快方法,内容如对您有帮助,希望把文章链接给更多的朋友!

故事起因:前天晚上,在计划中学完了一个前端获取后端请求的框架叫axios。然后准备用axios、vue、以及fastapi(一个Python的web框架)写一个前后端分离的小demo。结果变成了事故,竟然报错了。

主要错误是:has been blocked by CORS policy: No ‘Access-Control-Allow-Origin’。大概的意思是,已被CORS策略阻止:无“访问控制允许来源”。当时我也百度了一下CORS后来因为自己懒了,所以就去问一个朋友,然后他就让我去搜索如果解决跨域问题。(这个朋友还说了一下一般如何百度,技术栈+问题),所以明确一下解决跨域问题,技术栈在后端。接下来就是处理该问题的过程!!!

一、什么是源和跨域?

源(origin)就是协议、域名和端口号。 URL由协议、域名、端口和路径组成,如果两个URL的协议、域名和端口全部相同,则表示他们同源。否则,只要协议、域名、端口有任何一个不同,就是跨域。

举个例子:http://127.0.0.1:5500/VueStudy/test.html是一个前端的URL

后端接口是否跨域原因http://127.0.0.1:8081/test是端口号不一样http://127.0.0.1:5500/test (如果前端端口和后端端口在同一台机器上,会有端口占用的问题)否https://127.0.0.1:8081/test是协议不一样二、什么是同源策略?(参考百度百科)解决has been blocked by CORS policy: No ‘Access-Control-Allow-Origin’报错跨域问题(解决口苦最快的方法)

当一个浏览器的两个tab页中分别打开来 百度和谷歌的页面

当浏览器的百度tab页执行一个脚本的时候会检查这个脚本是属于哪个页面的,

即检查是否同源,只有和百度同源的脚本才会被执行。

如果非同源,那么在请求数据时,浏览器会在控制台中报一个异常,提示拒绝访问。

所以刚刚前端的请求不满足同源策略,所以被浏览器检测出来了,然后报了一个异常。

三、fastapi 跨域解决方案

解决思路就是在后台把前端的”源“加进去即可,其他技术的思路也都差不多。

前端代码(test.html)

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <script src="https://unpkg.com/axios/dist/axios.min.js"></script> <script src="https://cdn.jsdelivr.net/npm/vue@2.5.16/dist/vue.js"></script> <title>Document</title></head><body> <div id="app"> <input type="button" value="获取后端数据" @click="login"> <h5>{{message}}</h5> </div> <script> var app = new Vue({ el: "#app", data: { message: "你好前后端分离" }, methods: { login: function() { var that = this axios.get("http://127.0.0.1:8081/test") .then(function(response) { console.log(response) that.message = response.data }) } } }) </script></body></html>

后端代码(没有解决跨域app.py)

import uvicornfrom fastapi import FastAPI, Bodyapp = FastAPI()# 模拟服务端test接口@app.get("/test")def get_login(): return "this is fastapiApp"if __name__ == '__main__': # 服务端端口是 8080! uvicorn.run(app="app:app", reload=True, host="127.0.0.1", port=8081)

后端代码(解决跨域问题app.py)

import uvicornfrom fastapi import FastAPI, Body# 1、导入对应的包from fastapi.middleware.cors import CORSMiddlewareapp = FastAPI()# 2、
本文链接地址:https://www.jiuchutong.com/zhishi/287132.html 转载请保留说明!

上一篇:F12-开发者工具常用操作与使用说明之网络network(f12开发者工具调试打不开)

下一篇:关于 Vue “__ob__:Observer“ 属性的解决方案(关于减肥的好方法)

  • 律师事务所个人所得税如何计算
  • 土地增值税扣除项目金额怎么算
  • 工程咨询属于什么合同
  • 企业法人网上可以注销吗
  • 鉴证服务的税率有哪些
  • 社保利息计入什么科目
  • 持有待售资产是流动资产吗
  • 非盈利组织收到投资款如何做账
  • 金蝶固定资产折旧怎么修改
  • 没开发票的收入可以不入账吗
  • 会计核算形式
  • 房租怎么抵扣个税计算方法
  • 小规模纳税人开票税率
  • 收到赞助费如何做分录
  • 委托收款被拒绝后要怎么做
  • 上月增值税未申报本月能开票吗
  • 开的是全额发票但是有分包如何做账务处理?
  • 审计调整tb
  • 小微 小型微利
  • 专用发票的清单要开2张吗
  • 价外费用的会计和税务处理
  • 研发人员工资加计扣除
  • 应向客户收取的出租包装物租金
  • mac如何登陆两个微信
  • 基本户是否可以冻结
  • 汽车维修费可以入账吗
  • Intel 酷睿i5 8300H
  • 包装破损导致物品损坏
  • 工程施工广告牌
  • 高速公路电子发票抵扣进项税
  • 财务管理集权与分权
  • 150m迷你型无线路由器怎么用
  • 银行日记账本月没有发生业务
  • 美国大峡谷在哪儿
  • php实现删除功能
  • 工会经费是按应发工资还是实发工资申报
  • timit数据集
  • 蓝桥杯c题库及答案
  • didstata命令
  • 商贸公司对加工的影响
  • css代码怎么在浏览器运行
  • vue组件怎么使用
  • 事业单位无形资产包括哪些
  • 丢失增值税发票怎么办
  • 消费税计税分录
  • 企业出售商铺需交税吗
  • 进口关税如何交
  • 应收股利在资产负债表中怎么填
  • 叉车上牌流程注册登记
  • 企业财务会计是应用在各类企业
  • 安装sqlserver2000 IP地址出错怎样修改
  • ubuntu的系统设置在哪里
  • linux怎么禁用防火墙
  • win7历史记录在哪里
  • win10系统浏览器在哪
  • win7旗舰版32位系统激活
  • win7重装系统之后怎么还原系统
  • bootcamp不用u盘
  • msmpeng.exe是什么进程
  • win10安装win7主题
  • ssh远程安装软件
  • fstab文件详解修改
  • win7声音方案下载
  • win8怎么修改电脑密码修改
  • linux根目录和主目录
  • nodejs test
  • Theme.AppCompat.Light的问题
  • AJAX和jQuery动态加载数据的实现方法
  • bootstrap的表格
  • jquery input
  • android mat
  • javascript要学到什么程度
  • javascriptjs
  • js数组操作的常用方法有哪些
  • 北京税务局网上怎么登录
  • 开票系统增值税专票税率选多少
  • 关于工龄认定的司法解释
  • 定额发票属于什么类型
  • 出口退税的企业货币要回国内吗
  • 二手房个税怎么算
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设