赞
踩
参考:
fastAPI中的跨域问题解决_fastapi跨域处理-CSDN博客
遇到问题:
本地调试HTTP接口时, 本地页面调用本地API接口,会报错:
Access to XMLHttpRequest at 'http://localhost:8000/faceid/addUser' from origin 'http://127.0.0.1:5500' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.
example003.html:69 Q {message: 'Network Error', name: 'AxiosError', code: 'ERR_NETWORK', config: {…}, request: XMLHttpRequest, …}
xhr.js:258
POST http://localhost:8000/faceid/addUser net::ERR_FAILED
后台服务需要加入允许跨域访问的 代码:
- from fastapi.middleware.cors import CORSMiddleware
-
-
- app = FastAPI()
-
- # 这里配置支持跨域访问的前端地址
- origins = [
- "http://localhost", # 带端口的
- "http://localhost:8000", # 不带端口的
- "http://localhost:5500"
- ]
-
- #将配置挂在到app上
- app.add_middleware(
- CORSMiddleware,
- # 这里配置允许跨域访问的前端地址
- allow_origins=["*"],
- # 跨域请求是否支持 cookie, 如果这里配置true,则allow_origins不能配置*
- allow_credentials=False,
- # 支持跨域的请求类型,可以单独配置get、post等,也可以直接使用通配符*表示支持所有
- allow_methods=["*"],
- allow_headers=["*"],
- )
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。