0
我有一个Flask应用程序,我正在与JS集成。我app.py文件看起来像这样:烧瓶渲染模板重复HTML
import urllib
import requests
import time
from es import book
from flask import Flask, render_template, request, jsonify
app = Flask(__name__)
@app.route("/")
def index():
current_origin = jsonify(book())
return render_template('index.html', current_origin=current_origin)
if __name__ == "__main__":
app.run(host='0.0.0.0', debug=True ,port=5000)
和相应的JS是这样的:
$(document).ready(function() {
console.log("ready!");
$('#try-again').hide();
// gets values from flask
$.ajax({
type: "GET",
url: "/",
success: function(data) {
$('#results').append(data);
console.log(data);
},
error: function(error) {
console.log(error);
}
});
});
该控制台打印从调用相应的数据es import book
,但所呈现的页面只是不断重复没有数据值的HTML(附加到正确的div但没有我期望的数据的HTML的无尽重复)。我尝试了$('#results').append(data)
的几个变种,以包含.html(data),.text(data)等,但我不明白我在这里做错了什么。
酷!一个小调整,它的工作。我不得不改变'url:“{{url_for('get_book')}}”,'改为'url:“/ get_book”',它就像一个魅力一样。感谢您的帮助,我将不得不重新审视烧瓶端点文档,直到现在,我错过了这个概念。 – nmacc
啊......好的。其实我不确定你的JS是否在渲染的index.html文件中。 '{{}}'语法是Jinja2,所以如果它是一个不起作用的静态资源。很高兴我能帮上忙。 – abigperson