无法通过 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);
});