我如何将 JavaScript 参数传递到烧瓶中的 python 代码中?
How would I pass a JavaScript parameter into my python code in flask?
<script type="text/javascript">
function reply_click(clicked_id)
{
document.getElementById("viewFlashcardLabel").innerHTML = '{{ flashcards.query.filter_by(id = clicked_id).first().title }}';
}
</script>
参数 clicked_id 未被 {{ }} 中的 python 代码识别。
什么是修复错误的简单而安全的方法?
编辑:
HTML 文件:
<script>
function getFlashcard(id)
{
$.ajax({
type: 'POST',
url: "{{ url_for('views.get_flashcard') }}",
data: {"id" : 1},
success: function(){
alert("success")
},
error: function(){
alert("error")
}
});
e.preventDefault();
}
</script>
Python 文件:
@views.route('/get_flashcard', methods=['GET', 'POST'])
@login_required
def get_flashcard():
if request.method == 'POST':
print("recieved request")
问题是我的 python 代码没有收到我的 ajax 呼叫,因为我的测试消息没有被打印出来。
仅使用 jinja 模板无法做到这一点。
添加一个新的 API,它的 url 类似于 /api/get_title_by_id
。可以通过id参数查询title
在您的 javascript 代码中,对新的 API 进行 ajax 调用以获取标题。
<script type="text/javascript">
function reply_click(clicked_id)
{
document.getElementById("viewFlashcardLabel").innerHTML = '{{ flashcards.query.filter_by(id = clicked_id).first().title }}';
}
</script>
参数 clicked_id 未被 {{ }} 中的 python 代码识别。 什么是修复错误的简单而安全的方法?
编辑:
HTML 文件:
<script>
function getFlashcard(id)
{
$.ajax({
type: 'POST',
url: "{{ url_for('views.get_flashcard') }}",
data: {"id" : 1},
success: function(){
alert("success")
},
error: function(){
alert("error")
}
});
e.preventDefault();
}
</script>
Python 文件:
@views.route('/get_flashcard', methods=['GET', 'POST'])
@login_required
def get_flashcard():
if request.method == 'POST':
print("recieved request")
问题是我的 python 代码没有收到我的 ajax 呼叫,因为我的测试消息没有被打印出来。
仅使用 jinja 模板无法做到这一点。
添加一个新的 API,它的 url 类似于 /api/get_title_by_id
。可以通过id参数查询title
在您的 javascript 代码中,对新的 API 进行 ajax 调用以获取标题。