无法通过 JS 将表单数据传递给 Python Flask
Can not pass form data by JS to Python Flask
我需要在不重新加载页面或提交按钮的情况下将表单输入数据发送到 Python Flask。我正在使用 XMLHttpRequest 对象发送输入数据,但我无法从 Python Flask 接收它。
Html 部分:
<form method="POST">
<div class="Enter">
<div class="MM">Management Module Name:<span style="margin-left: 66px;"></span>
<input type="text" id="MM" class="input" name="MM" placeholder="MM name as seen in temip_enroll -d" required>
</div>
</form>
JS部分:
var input = document.getElementById('MM')
input.addEventListener('keyup',e => {
var mm_name = e.target.value
const request = new XMLHttpRequest()
request.open('POST',"Enter",true)
request.send(e.target)
console.log(mm_name)
})
Python代码:
@app.route('/Enter', methods = ['POST','GET'])
def enter_case():
if request.method == 'POST':
MM = request.form.get('MM')
print(MM)
这会打印“None”
您向服务器发送未格式化的原始数据。因此,您可以通过服务器上的 request.data
请求。
如果要以表单形式提交数据,可以使用 FormData
对象。那么收货后可以通过request.form
.
进行查询
const input = document.getElementById('MM');
input.addEventListener('keyup', e => {
const formData = new FormData();
formData.append('MM', e.target.value);
const xhr = new XMLHttpRequest();
xhr.open('POST', '/enter', true);
xhr.send(formData);
});
我需要在不重新加载页面或提交按钮的情况下将表单输入数据发送到 Python Flask。我正在使用 XMLHttpRequest 对象发送输入数据,但我无法从 Python Flask 接收它。
Html 部分:
<form method="POST">
<div class="Enter">
<div class="MM">Management Module Name:<span style="margin-left: 66px;"></span>
<input type="text" id="MM" class="input" name="MM" placeholder="MM name as seen in temip_enroll -d" required>
</div>
</form>
JS部分:
var input = document.getElementById('MM')
input.addEventListener('keyup',e => {
var mm_name = e.target.value
const request = new XMLHttpRequest()
request.open('POST',"Enter",true)
request.send(e.target)
console.log(mm_name)
})
Python代码:
@app.route('/Enter', methods = ['POST','GET'])
def enter_case():
if request.method == 'POST':
MM = request.form.get('MM')
print(MM)
这会打印“None”
您向服务器发送未格式化的原始数据。因此,您可以通过服务器上的 request.data
请求。
如果要以表单形式提交数据,可以使用 FormData
对象。那么收货后可以通过request.form
.
const input = document.getElementById('MM');
input.addEventListener('keyup', e => {
const formData = new FormData();
formData.append('MM', e.target.value);
const xhr = new XMLHttpRequest();
xhr.open('POST', '/enter', true);
xhr.send(formData);
});