当前位置: 首页 > 面试题库 >

使用AJAX发送带有表单的表单文件时出错

司马腾
2023-03-14
问题内容

我正在尝试使用包含CSV文件的AJAX提交表单。因此,想法是使用ajax发送表单,通过生成表在不同文件中对其进行处理,然后将处理后的表回调回页面。

我所拥有的是

<form id="uploadXls" action="" method="post" enctype="multipart/form-data">
      <input id="uploaderFile" type="file" class="file"><br/>
      <button type="button" class="btn btn-orange pull-right" name="btnSubmit" id="btnSubmit"><i class="fa fa-download"></i> SHOW FILE CONTENT</button>
</form>

JavaScript是

$("#btnSubmit").click(function(){
            $.ajax({
                type: 'POST',
                url: '../../content/maindiv_content/drawing/divpages/process_xls_file.php',
                data: new FormData(this),
                contentType: false,
                cache: false,
                processData: false,
                success: function (response, textStatus, jqXHR) {
                  $("#showFileContentTable").html(data);
                }
            });
        });

我在萤火虫中遇到这种错误,

TypeError: Argument 1 of FormData.constructor does not implement interface HTMLFormElement.
http://infserver/WeltesTankage/dist/js/jquery-1.10.2.min.js line 4 > eval
Line 14

我在这里做错了什么?请帮我


问题答案:

不要将文件传递到构造函数中,而应使用append,例如:

var formData = new FormData();
formData.append('file', $('input[type=file]')[0].files[0]);
data:  formData


 类似资料:
  • 问题内容: 我想以ajax的形式发送所有输入。我有这样的形式。 在.js文件中,我们有以下代码: 但这不起作用。我不想使用Form数据。 问题答案: 只要我们要发送具有名称属性的所有表单输入字段,就可以对所有表单执行此操作,而与字段名称无关: 第一个解决方案 第二个解决方案 :在此解决方案中,您可以创建一个输入值数组:

  • 当我提交post方法表单时,给定输入字段值,提交时不获取。如果我在Jquery中使用Ajax调用,那么表单值将序列化并正确提交,但是在javascript中,使用FormData的Ajax调用会出错。 谁能解决我的问题。 错误: > 错误:不能设置报头后,他们被发送。OutgoingMessage.set头(_http_outgoing.js:356: 11) 阿波罗模型拯救未设置键:主键字段:名

  • 问题内容: 我是PHP / jquery的新手,我想问一下如何使用json格式的ajax从表单字段(例如(名称,年龄等))发送json数据。可悲的是,我找不到与此相关的任何信息,甚至可以动态地进行?Google搜索仅提供诸如手动建立数据之类的答案。:,等等。 反正有做吗? 谢谢您的帮助! 编辑: 问题答案: 这是一个简单的 这是我的test.php仅用于测试 这是我的index.html 两个文件

  • 问题内容: 我有一个带有jquery验证的表单。提交表单后,我通过Ajax加载相同的表单。我的问题是jquery验证不适用于ajax加载的表单。我已经尝试了一些有关堆栈溢出的答案,但是不幸的是它没有用。 谢谢阿兹 问题答案: 在 功能上使用 。。 例:

  • 问题内容: 我希望以下表格使用AJAX。因此,在单击命令按钮后无需重新加载页面即可显示注释。使用Java Server Faces 2.0需要更改什么? 功能:此表单提供了一个inputText来定义主题。按下命令按钮后,将搜索有关此主题的注释。注释显示在dataTable中(如果有)。否则显示为 空 。 问题答案: 您需要告诉命令按钮改用Ajax。这就像在其中嵌套标签一样简单。您需要指示它通过提

  • 既然约翰·康德(John Conde)提出了这个建议,我将尝试更准确地描述我的问题。 大体上。js我正试图将我的表单对象发送到提交时。我如何做到这一点是通过选择表单对象并创建对象并将其发送到使用AJAX: 很明显,由于某种原因,我的对象没有被发送到我的。我认为它的b/c的。我这样做的原因是b/c我试图在我的中上传一个文件,这篇文章说在我的AJAX调用中做。 如果你知道我做错了什么,请告诉我,谢谢!