位置: 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“ 属性的解决方案(关于减肥的好方法)

  • 个税申报吗
  • 增值税发票综合服务平台错误代码35
  • 房地产开发企业土地增值税预缴
  • 个所税包括什么
  • 销售货物开票及销售收入
  • 疫情期间社保单位不交个人吃亏吗
  • 公司卖出货物没有入库记录如何做账?
  • 赔偿支出需要纳税调整吗
  • 托管开票
  • 在电子税务里怎么查以前年度亏损数据
  • 小微企业增值税免税政策2023年
  • 贷款利息进项税额
  • 对公账户的理财收入计入什么科目
  • 收款未发货需要纳税吗
  • 垫付了医药费保险报销时怎么办
  • 土地增值税是否属于中央地方共享税
  • 正规沙场需要缴纳税吗
  • 房地产企业转让股权缴纳土地增值税
  • 企业缴纳印花税会计分录
  • 哪些税费不适用征管法?
  • 小额贷款公司可以放贷吗
  • 销售商品现金流量表项目
  • 收到工程发票如何做账
  • 银行回单箱费会扣吗
  • 显卡硬件加速如何开启
  • 手机连不上wifi显示已停用是怎么回事
  • 工商年报股东变更申请
  • 为什么win7系统用不了谷歌浏览器了
  • 高新企业研发支出转产成品
  • 公司已经改名原来的公章还有效吗
  • PHP:apache_setenv()的用法_Apache函数
  • 最薄的索尼微单
  • 土地价款扣除会计分录
  • vue定位城市
  • 计提坏账损失的范围
  • 增值税检查后的调账方法
  • centos 安装php
  • 应交增值税的账务处理有哪两种
  • 建立分公司流程
  • windows7基本使用教程
  • 小规模季度等于几个月
  • sql分组计算
  • 差额征收的会计分录
  • 建筑服务包括哪些内容
  • 如果发票和实际不一样
  • 初级会计实务中国财政经济出版社
  • 个税起征点调整至10000
  • 未开票收入怎么申报增值税
  • 文化事业建设费会计分录
  • 收客户货款怎么说话
  • 银行存款收入范围有哪些
  • 非货币性资产交换和债务重组的区别
  • 发票抵扣联要放入凭证里吗
  • 网上报税零申报流程演示2018
  • 服务业差旅费是什么科目
  • 行政事业单位负责人应当对本单位内部控制
  • windows vista home basic
  • win7系统扫描在哪里
  • ubuntu如何清理缓存
  • ubuntu下mysql的常用命令
  • sstray.exe - sstray是什么进程 有什么作用
  • win10自带的杀软叫什么
  • win10系统保留分区可以删除吗
  • drawand paint
  • linux awk $1
  • shell脚本监控进程
  • android中的线程
  • unity如何成一组
  • javascript高级程序设计电子书
  • 安卓拍照闪退
  • 安卓自定义app
  • python文件处理方法
  • 基于javascript的毕业设计
  • django modelform
  • js重要知识点
  • 本期应纳税额怎么算
  • 东莞市官网
  • 四川税务法人实名采集
  • 宝宝早教一般选什么课程
  • 民族贸易产生的原因
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设