【问题标题】:jQuery .getJSON not running with flask appjQuery .getJSON 没有与烧瓶应用程序一起运行
【发布时间】:2020-09-15 08:49:55
【问题描述】:

我有一个烧瓶应用程序,我试图将一些 json 发送到浏览器并呈现它。但是$.getJSON() 的行没有运行。其要点如下:

app.py

from flask import Flask, render_template


app = Flask(__name__)

@app.route('/')
def index_html():

    data = {"this":"is", "just":"a test"}

    return render_template('index.html', data=data)


if __name__ == '__main__':

    app.run(debug=True)

index.html

<html>
<head>
    <script src="{{url_for('static', filename='jquery-3.5.1.min.js')}}"></script>
    <script src="{{url_for('static', filename='leaflet/leaflet.js')}}"></script>
    <link rel="stylesheet" href="{{url_for('static', filename='leaflet/leaflet.css')}}">
    <link rel="stylesheet" href="{{url_for('static', filename='app.css')}}">
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css">

</head>
<body>
    <h1>My test that doesn't work</h1>
    <div id="llmap"></div>

    <script src="{{url_for('static', filename='app.js')}}"></script>
</body>

app.js

console.log("before")

$.getJSON("/", function(data){
    console.log("during")
    console.log(JSON.stringify(data));
});

console.log('after')

控制台输出

before
after

即使我的数据以某种方式搞砸了,我也希望至少能看到

before
during
after

这里有什么我不明白的,为什么getJSON() 不开火?

【问题讨论】:

    标签: javascript python jquery flask getjson


    【解决方案1】:

    你正在使用

    return render_template('index.html', data=data)
    

    当您调用.getJSON 函数时,您只需要返回数据。简单

    return data
    

    应该可以。因为 getJSON 不允许 POST 请求,所以您必须再添加一条路由

    @app.route('/')
    def index_html():
       return render_template('index.html')
    @app.route("/getjson")
    def json():
       data = {"this":"is", "just":"a test"}
       return data
    

    并将您的 getJSON 请求更改为

    $.getJSON("/getjson", function(data){
        console.log("during")
        console.log(JSON.stringify(data));
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-09-02
      • 2018-12-13
      • 2022-01-19
      • 2015-07-05
      • 2018-10-25
      • 2021-12-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多