为了账号安全,请及时绑定邮箱和手机立即绑定

使用 AJAX Javascript 发送纯文本表单数据

使用 AJAX Javascript 发送纯文本表单数据

拉丁的传说 2023-07-14 15:38:18
我正在尝试通过 AJAX 将表单数据的内容发送到 python-flask 应用程序。这是 Javascript 代码的基本部分function sendFormInfo(){  var formInfo = document.getElementById('formInfo');  var elems = formInfo.elements;  return new Promise(function(resolve, reject) {    var getFd = toFormFromElems(elems);    getFd    .then(function(fd){      fd.set('my_key', 'my_value')      inspectFormData(fd);      var timestamp = (new Date()).getTime();      $.ajax({        url: "/updategame" + '?_=' + timestamp,        type : "POST",        processData: false,        contentType: false,        dataType: "text",        data : fd      })      .done(function(respPost) {        resolve(respPost)      })      .fail(function(data) {        console.log("Post request failed.")        console.log(data);      });      })    })}function inspectFormData(inputFormData){  for(var pair of inputFormData.entries()) {    console.log(pair[0]+ '-> '+ pair[1]);  }}function toFormFromElems(elems){  return new Promise(function(resolve, reject){    var fd = new FormData();    for (var i = 0, elem; elem = elems[i++];){      // console.log(elem.id + " -> " + elem.value);      fd.set(String(elem.id), String(elem.value));    }    // console.log(fd);    resolve(fd);  })}以及 python 的:@main.route("/updategame", methods=["POST"])@login_requireddef update_game():    print(request.files)    print(request.files.keys())    return "success"在我看来,我可以正确填写表单数据:但我在 python 端点得到一个空字典:虽然非常非常(是的,双重非常)类似的方法已被证明可以工作,但是当发送视频时(从画布发送图像,并等待 AJAX POST 响应)有人有什么建议吗?我已经尝试将缓存断路器添加到请求中。
查看完整描述

1 回答

?
DIEA

TA贡献1820条经验 获得超2个赞

如果您向 Flask 发送带有表单数据的 POST 请求,它将到达request.form,而不是 request.files ,后者用于文件上传,从而解释了视频上传有效的原因。



查看完整回答
反对 回复 2023-07-14
  • 1 回答
  • 0 关注
  • 107 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信