我无法使用JQuery动态更新Flask中的HTML内容

时间:2019-07-15 18:37:20

标签: python jquery ajax flask

我正在使用Flask创建自动更新的网页,需要在不更新页面的情况下更新HTML内容。我为此使用JQuery和Ajax。我无法正确显示输出。

我试图改变几乎所有东西,但对我来说却无济于事。

<!doctype html>
<html lang="en">
    <head>
        <meta charset="utf-8">
    </head>
    <body>
        <div id="response"></div>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script>
var cacheData;
var data = $('div#response').html();
console.log(data)
var auto_refresh = setInterval(
function ()
{
    $.ajax({
        url: "/_get_data/",
        type: 'POST',
        data: JSON.parse(data),
        dataType: 'json',
        success: function(data) {
            if (data !== cacheData){
                //data has changed (or it's the first call), save new cache data and update div
                cacheData = data;
                $('div#response').html(data);
            }          
        }
    })
},1000);

app.py

from flask import Flask, render_template, jsonify

app = Flask(__name__)

mylist = [1, 2, 3]
def fun():
    global mylist
    mylist = [x+1 for x in mylist]
    return mylist


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


@app.route('/_get_data/', methods=['POST'])
def _get_data():
    print("inside")
    return jsonify({'data': render_template('response.html', myList=fun())})


if __name__ == "__main__":
    app.run(debug=True)

我希望屏幕上只显示三个数字,并且应该不断变化。

0 个答案:

没有答案