javascript - Flask 应用程序将数据发布到错误的资源?

标签 javascript jquery python flask

我有一个搜索按钮,单击该按钮时,应将数据发送到我的服务器。 JavaScript 看起来像这样:

$('#search-btn').click(function() {
      $.ajax({
        type: "POST",
        contentType: "application/json; charset=utf-8",
        url: "/my_route",
        data: JSON.stringify({title: 'hallo', article: 'test'}),
        dataType: 'json',
        success: function (data) {
        console.log(data.title);
        console.log(data.article);
        },
      });
    }); 

在服务器上,我的路由是这样的:

@app.route('/my_route')
def route(methods=['GET', 'POST']):
    print(request.method)
    return flask.jsonify({"foo": "bar"})

使用此设置,我从 jQuery 收到控制台错误:POST http://localhost:5000/405 (METHOD NOT ALLOWED)

我不明白为什么这段代码会向错误的资源抛出 405 广告发布数据? ajax 和路由都指向 /my_route。谁能发现我的问题?谢谢。

最佳答案

很确定您需要将 methods=['GET', 'POST'] 放在 app.route 装饰器中,如下所示:

@app.route('/my_route', methods=['GET', 'POST'])
def route():
    print(request.method)
    return flask.jsonify({"foo": "bar"})

http://flask.pocoo.org/docs/0.10/quickstart/#http-methods

关于javascript - Flask 应用程序将数据发布到错误的资源?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30127232/

相关文章:

Javascript 仅使用一个查询字符串刷新

javascript - MVC 4 应用程序的 Jquery Carousel 问题

Typescript 中的 Javascript 错误在 IE11 中生成 JS

javascript - 通过 JSON 字段搜索名称

javascript - 通过 JS 求 n 个列表的交集

javascript - 如何将依赖于 jQuery 的 Javascript 小部件嵌入到未知环境中

javascript - var = 变量 + 'String'

python - 使用 Python scipy 验证 t 检验结果

python - 在没有 pip/anaconda 的 Ubuntu 上安装 numpy

python - 如何在不将其保存到文件的情况下在 Qt 中播放 numpy 数组?