我正在建立一个Flask网站,该网站可以动态加载诸如时间之类的信息,但是我遇到了AJAX和jQuery的问题。
按照烧瓶站点https://flask.palletsprojects.com/en/1.1.x/patterns/jquery/上的示例
我想根据用户唯一ID 而不是静态ID将其更改为动态URL。
Python文件:
from flask import Flask, jsonify, render_template, request
app = Flask(__name__)
@app.route('/_add_numbers/<UNIQUEID>')
def add_numbers():
a = request.args.get('a', 0, type=int)
b = request.args.get('b', 0, type=int)
return jsonify(result=a + b)
@app.route('/')
def index():
return render_template('index.html')
HTML
<script type=text/javascript>
$(function() {
$('a#calculate').bind('click', function() {
$.getJSON($SCRIPT_ROOT + '/_add_numbers/UNIQUEID', {
a: $('input[name="a"]').val(),
b: $('input[name="b"]').val()
}, function(data) {
$("#result").text(data.result);
});
return false;
});
});
</script>
<h1>jQuery Example</h1>
<p><input type=text size=5 name=a> +
<input type=text size=5 name=b> =
<span id=result>?</span>
<p><a href=# id=calculate>calculate server side</a>
我不知道如何在HTML中添加唯一ID。任何帮助深表感谢!
答案 0 :(得分:0)
有多种方法可以做到这一点。我建议您简单地使用render_template("index.html", user_id=current_user.id)
将用户的ID添加到模板上下文中(确保您从flask导入current_user
。如果用户登录,这将返回用户ID,而{{1} },则可以执行以下操作:
None
应该这样做。
或者,您实际上可以在模板中使用$(function() {
$("a#calculate").bind("click", function() {
$.getJSON($SCRIPT_ROOT + "/_add_numbers/{{ user_id }}",
etc etc: your code goes here
)}
)}
的值(如果您理解的话),因为无论如何它都是通过Jinja隐式传递的。 o用{{current_user.id}}代替current_user.id
。