【问题标题】:How to pull data from own Flask JSON route endpoint using Axios如何使用 Axios 从自己的 Flask JSON 路由端点提取数据
【发布时间】:2021-03-01 08:53:16
【问题描述】:

我想在 Javascript 中使用 Axios 将 JSON 数据保存到变量中。生成 JSON 端点的路由是我自己的服务器路由 http://123.4.5.6:7890/json。这与以下功能一起成功:

async function getClasses() {
    const res = await axios.get('http://123.4.5.6:7890/json');
}

但是,我认为当他们拉起我的项目时,这不适用于其他人的服务器,那么哪一行代码将进入http:// 位置?我的导师推荐使用 'http://localhost:5000/json' 但是当我尝试这个时会出现这个错误。

这是我的 json 路由的 python 代码:

@app.route('/json')
def display_json():
    """view/signup for available yoga classes using API"""

    serialized_classes = [c.serialize() for c in Classes.query.all()]

    return jsonify(serialized_classes)

当我在浏览器中转到 http://123.4.5.6:7890/json 路由时。 JSON 确实成功地出现在浏览器中。谢谢,任何帮助表示赞赏

【问题讨论】:

  • 在您的服务器代码中,您是如何为端点设置路由的?您是否在本地主机上运行端点并且它正在工作?
  • 编辑了我的代码以包含我的 Python 烧瓶代码用于路线。我也可以提供更多代码,因为这没有显示我的类模型是如何设置的
  • 如果我只包含我自己的服务器的路由,我的端点就可以成功运行

标签: javascript json ajax server axios


【解决方案1】:

我认为是 CORS 问题,您可以使用以下代码解决此问题。

var config = {
    headers: {'Access-Control-Allow-Origin': '*'}
};

async function getClasses() {
    const res = await axios.get('http://123.4.5.6:7890/json', config);
}

【讨论】:

    【解决方案2】:

    在您的 app.py 或 main.py 文件中

    from flask_cors import CORS
    app = Flask(__name__)
    CORS(app)
    

    【讨论】:

    • 在尝试此操作后遇到导入错误。我将如何在命令行中安装它?这行得通吗? pip install -U flask-cors
    • 点安装flask_cors
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-16
    • 2019-02-18
    • 2023-01-21
    • 2018-01-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多