【发布时间】:2021-01-24 16:01:24
【问题描述】:
我正在尝试使用 ajax 将两个异步值从 html 传递到烧瓶。我创建了一个带有两个按钮和两个输入的简单 html。我想通过单独的按钮单击来传递每个变量。 我收到以下消息:error message
HTML:
<form action="/" method="POST">
<input type="number" id="val1" name="val1" value="1">
<button type="submit" value="value1" name="btn1">Click1</button><br>
<input type="number" id="val2" name="val2" value="2">
<button type="submit" value="value2" name="btn2">Click2</button><br>
</form>
JS:
value1 = document.getElementById("val1").value;
value2 = document.getElementById("val2").value;
$.ajax({
type: 'POST',
url: "/",
data: JSON.stringify[(value1, value2)],
contentType: "application/json;charset=utf-8",
dataType: "json",
success: function(data){}
});
PY:
@app.route('/', methods=['GET', 'POST'])
def start():
if request.method == 'POST':
if request.form['submit'] == 'value1':
data = request.get_json()
value1 = data['value1']
print(value1)
elif request.form['submit'] == 'value2':
data = request.get_json()
value2 = data['value2']
print(value2)
return render_template('index.html')
有人可以看看这个并写下为什么会发生这种情况,我该如何解决?
编辑: 我更改了 .py 和 .js 文件,我看到了一些进展,但我仍然无法将值传递给 flask...
HTML:
<form action="/" method="POST">
<input type="number" id="val1" value="25" min="25" max="35">
<button type="submit" value="value1" name="btn">Click1</button><br>
<input type="number" id="val2" name="val2" value="15" min="15" max="35">
<button type="submit" value="value2" name="btn">Click2</button><br>
</form
当我点击任何按钮时,它想打印数据,但我总是在响应中得到None
PY:
@app.route('/', methods=['GET', 'POST'])
def start():
if request.method == 'POST':
if request.form.get('btn') == 'value1':
data = request.get_json()
print(data)
elif request.form.get('btn') == 'value2':
data = request.get_json()
print(data)
return render_template('index.html')
JS:
var value1 = document.getElementById('val1').value;
var value2 = document.getElementById('val2').value;
$.ajax({
type: 'POST',
url: '/',
data: JSON.stringify({"A":value1}, {"B":value2}),
contentType: "application/json;charset=utf-8",
success: function(data){}
});
在我看来,问题出在 .py 中的部分 od 代码:
data = request.get_json()
print(data)
当我将其更改为 print(data['A']) 时,我得到了很多错误
或在 .js 中:
data: JSON.stringify({"A":value1}, {"B":value2}),
有人可以帮帮我吗?
【问题讨论】:
标签: javascript python jquery ajax flask