简体   繁体   English

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

[英]Flask-Cors not working Nuxt + Flask (JWT used)

I have read all available solutions to my problem, still cannot figure out problem.我已经阅读了我的问题的所有可用解决方案,但仍然无法找出问题所在。

I have tried all available solutions, but cannot find anything helpful.我已经尝试了所有可用的解决方案,但找不到任何有用的东西。

Whenever I send request, browser blocks request under CORS Policy.每当我发送请求时,浏览器都会根据 CORS 策略阻止请求。

My Flask App responds to OPTIONS call with code 308.我的 Flask 应用程序使用代码 308 响应 OPTIONS 调用。

I have also tried adding resources={r"*": {"origins": "*"}} while initialising object.我还尝试在初始化 object 时添加resources={r"*": {"origins": "*"}}

I have also tried doing app.config['CORS_HEADERS'] = 'Content-Type'我也试过做app.config['CORS_HEADERS'] = 'Content-Type'

Nothing Works.没有任何作用。

Backend:后端:

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()

Frontend: (Nuxt Axios):前端:(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
    }
  );

I figured out the solution.我想出了解决办法。 Thought I should share it.我想我应该分享它。

Problem was, I was using url_prefix in blueprints, which led to problems in flask_cors .问题是,我在蓝图中使用url_prefix ,这导致了flask_cors中的问题。 I suggest if anyone is having same problem,我建议如果有人遇到同样的问题,

remove url_prefix from register_blueprint and manually add url prefix in route definition.register_blueprint中删除url_prefix并在路由定义中手动添加 url 前缀。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM