gpt4 book ai didi

javascript - 将参数从 JQuery 发送到 Flask

转载 作者:行者123 更新时间:2023-11-30 00:33:11 24 4
gpt4 key购买 nike

我正在尝试将索引页面上的输入(文本字段)中的数据发送回 Flask 进行处理,并将处理后的数据返回到索引页面。

我可以在 javascript 中显示通过警报输入的值,但是当我尝试将它发送到 flask 时它不会显示。

这是我尝试使用的代码。

script.js

因此,当提交按钮被点击时,它会向 flask 应用程序发送一个 POST 命令,其中包含当前文本字段中的任何内容(如 index.html 所示)。它等待响应并将其输出到“#reply”div

$('#submit').click(function(){
$.post("/serviceidlookup", {serviceid1: document.getElementById("field")}).done(function (reply) {
$('#reply').empty().append(reply);
});

flaskapp.py

此部分的第一部分使用文本输入和提交按钮设置索引页面。第二部分是由前面的 JQuery 脚本调用并传递参数的函数。它呈现 lookup.html 页面并将其返回到 JQuery 脚本(然后将其输入到“#right”div)

@app.route('/')
def index(name=None):
return render_template('index.html', name=name)

@app.route('/<serviceid>', methods=["GET", "POST"])
def serviceidlookup(serviceid):
serviceid2 = serviceid + " extra"
return render_template('lookup.html', serviceid=serviceid, serviceid2=serviceid2)

lookup.html

如前所述,这采用“serviceidlookup”函数传递给它的值

{% if serviceid %}
<h1>Hello {{ serviceid }}!</h1>
<h1>And also {{ serviceid2 }}!</h1>
{% else %}
<h1>Hello World!</h1>
{% endif %}

index.html

这包含用于发送信息的测试字段和按钮。它还包含由 JQuery 填充的“#right”div

<div id="searchContainer">
<input id="field" name="field" type="text" />
<div id="delete"><span id="x">x</span></div>
<input id="submit" type="submit" value="Search" />
</div>

<div id="reply">
</div>

一定是我在将参数发送给 Flask 时做错了什么,有人能发现问题吗?

干杯。

最佳答案

我认为您的 Javascript 甚至没有被触发 - 您的 script.js 中存在语法错误(如果您使用的是 Google Chrome,则可以在 javascript 控制台中查看语法错误)。

我已按如下方式重写您的应用程序以使其按预期工作:

flaskapp.py

from flask import Flask, render_template, request

app = Flask(__name__)
app.debug=True

@app.route('/')
def index(name=None):
return render_template('index.html', name=name)

@app.route('/serviceidlookup', methods=["GET", "POST"])
def serviceidlookup():
serviceid = request.form.get('serviceid')
serviceid2 = serviceid + " extra"
return render_template('lookup.html', serviceid=serviceid, serviceid2=serviceid2)

if __name__ == '__main__':
app.run()

static/script.js

  $(document).ready( function() {
$('#submit').click(function() {
var serviceid = document.getElementById("field").value;
$.post(
"/serviceidlookup",
{ serviceid: serviceid }
).done(function (reply) {
$('#reply').empty().append(reply);
});
});
});

关于javascript - 将参数从 JQuery 发送到 Flask,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28401402/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com