Flask-Cors 不工作 Nuxt + Flask(使用 JWT)

Posted

技术标签:

【中文标题】Flask-Cors 不工作 Nuxt + Flask(使用 JWT)【英文标题】:Flask-Cors not working Nuxt + Flask (JWT used) 【发布时间】:2021-05-02 12:01:08 【问题描述】:

我已经阅读了我的问题的所有可用解决方案,但仍然无法找出问题。

我已经尝试了所有可用的解决方案,但找不到任何有用的方法。

每当我发送请求时,浏览器都会根据 CORS 政策阻止请求。

我的 Flask 应用程序使用代码 308 响应 OPTIONS 调用。

我也尝试在初始化对象时添加resources=r"*": "origins": "*"

我也试过app.config['CORS_HEADERS'] = 'Content-Type'

没有任何作用。

后端:

from flask import Flask, make_response
from flask_cors import CORS

from tracer.blueprints.auth import app as auth_blueprint
from tracer.blueprints.url import app as url_blueprint

app = Flask(__name__)
CORS(app)

app.register_blueprint(auth_blueprint, url_prefix='/auth')
app.register_blueprint(url_blueprint, url_prefix='/url')

@app.route('/')
def home():
    return make_response('<center><h2>APIs hosted here.</h2></center>')

if __name__ == '__main__':
    app.run()

前端:(Nuxt Axios):

  context.$axios.setHeader('token', token);
  context.$axios.setHeader('Content-Type', 'application/json')
  const response = await context.$axios.$post(
    "http://127.0.0.1:5000/url",
    
      redirect: url
    
  );

【问题讨论】:

【参考方案1】:

我想出了解决办法。觉得我应该分享一下。

问题是,我在蓝图中使用了url_prefix,导致flask_cors 出现问题。我建议如果有人遇到同样的问题,

register_blueprint 中移除url_prefix 并在路由定义中手动添加url 前缀。

【讨论】:

以上是关于Flask-Cors 不工作 Nuxt + Flask(使用 JWT)的主要内容,如果未能解决你的问题,请参考以下文章

Python flask-cors ImportError: No module named 'flask-cors' Raspberry pi

flask-cors

为啥 Flask-Cors 在生产中没有检测到我的跨域域?

Vue/Nuxt 页面转换不工作

`npx create-nuxt-app <项目名称>`不工作:MacOSX

nuxt dev server 渲染的 JSX 可以工作,而 prod 版本不工作