JavaScript – 使用AJAX格式发送表单文件时发生错误

前端之家收集整理的这篇文章主要介绍了JavaScript – 使用AJAX格式发送表单文件时发生错误前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用包含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);
                }
            });
        });

并且在firebug中得到这种错误,

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相关文章