我正在尝试使用包含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