我想使用flask和jQuery从服务器获取数据

时间:2016-12-01 02:16:41

标签: javascript jquery python flask server

所以我尝试了下面的javascript

$(document).ready(function () {
    $("#mtime").bind("click", function (e) {
        $.getJSON('/test', function(data){
            if(data.result==15){
                alert("success!");
            }else{
                alert("fail....");
            }
        });
    });
});

使用这样的烧瓶制作路线

@app.route('/test',methods=[GET,POST])
def test():
    return jsonify(result=15)

但是当我点击“mtime' ,警报方法没有用。 并从cmd窗口获取此消息

"GET /test HTTP/1.1" 404 -"

我怎样才能让它发挥作用?

1 个答案:

答案 0 :(得分:0)

正如PJ Santoro所写,GET和POST周围缺少引号。但是,您不需要明确添加方法,因为您只发出GET默认请求。

from flask import Flask, render_template, jsonify


app = Flask(__name__)


@app.route('/')
def index():
    return render_template('index.html')


@app.route('/test')
def test():
    return jsonify(result=15)


if __name__ == '__main__':
    app.run(host='localhost', port=5000, debug=True)

如果您在HTML文件中使用url_for生成端点的网址,那么这也是更好的做法。这样,当您决定更改子域或使用蓝图时,您可以确定网址会发生变化。

$(document).ready(function () {
$("#mtime").bind("click", function (e) {
    $.getJSON({{ url_for('test') }}, function(data){
        if(data.result==15){
            alert("success!");
        }else{
            alert("fail....");
        }
    });
  });
});