Javascript 得到一个Ajax错误";xxx“;没有定义
我浏览了大量的Stackoverflow问题、各种教程和youtube视频,到目前为止,没有一个(我发现的)能为我解决这个问题 我有一个表单可以加载单个文件。它提交的罚款没有ajaxJavascript 得到一个Ajax错误";xxx“;没有定义,javascript,jquery,ajax,Javascript,Jquery,Ajax,我浏览了大量的Stackoverflow问题、各种教程和youtube视频,到目前为止,没有一个(我发现的)能为我解决这个问题 我有一个表单可以加载单个文件。它提交的罚款没有ajax <form asp-action="FileIndexView" asp-controller="SuburbsAndPostcodesAdmin" method="post" enctype="multipart/form-data">
<form asp-action="FileIndexView"
asp-controller="SuburbsAndPostcodesAdmin"
method="post"
enctype="multipart/form-data">
<div class="form-horizontal">
<div class="form-group">
<label class="col-md-4 control-label">Select the Suburbs and Postcodes latest CSV File:</label>
<input type="file"
name="CSVFile"
id="txtFileUpload"
class="col-md-8 control-label" />
</div>
<div class="form-group">
<input type="submit"
name="Submit"
value="Submit"
class="col-md-1 btn btn-primary"
disabled="disabled"
id="SubmitFile" />
</div>
</div>
选择郊区和邮政编码最新的CSV文件:
我有一个Ajax POST方法。单击submit按钮时会调用它。一切都好
这是代码
$('#SubmitFile').click(function (e) {
e.preventDefault(); // <------------------ stop default behaviour of button
//var fileUpload = input.files[0];
var url = "/SuburbsAndPostcodesAdmin/test";
var connId = $.connection.hub.id;
var fd = new FormData();
fd.append('File', input.files[0]);
fd.append('connId', connId);
$.ajax({
type: "POST",
url: url,
data: fd,
processData: false,
contentType: false,
});
$(“#提交文件”)。单击(函数(e){
e、 preventDefault();//这个“Formdata”对象似乎可疑
$.ajax({
type: "POST",
url: url,
data: {input: "A", somethingelse: 2, somethingmore: true},
processData: false,
contentType: false,
});
在浏览器中,使用“开发人员选项”并转到“网络”选项卡,以查看POST操作中推送到服务器的内容。我敢打赌,它不符合服务器方法的预期,因此出现异常
编辑
直到现在,我才注意到您正在尝试进行文件上载。通过AJAX,这是一个令人头痛的问题。我成功地使用了一个名为DropZone的插件。问题在于input.files[0]
,因为这里的input
未定义
而不是
fd.append('File', input.files[0]); //here input is not defined
试一试
“为什么这一行出现错误?”因为…input
未定义。您还没有在任何地方定义它。这是有效的。只是为了确认,名称是任意的。对文件的引用必须是对选择文件的实际ID的引用。感谢所有花时间查看和回答的人。
fd.append('File', input.files[0]); //here input is not defined
fd.append('File', $("#txtFileUpload")[0].files[0]);