使用 ajax 和 jquery 上传文件返回某些文件的网络错误
Upload files using ajax and jquery is returning network error for SOME files
我使用 jquery 和 ajax 制作了一个完整的 javascript 函数来上传文件...一切正常,直到我意识到对于某些文件错误函数被触发ajax 而不是成功函数。下面是我的代码:
$.ajax({
url: 'MyService.asmx/UploadFiles',
type: "POST",
contentType: false,
processData: false,
data: fileData, // form data that contains file and some data
dataType: "text",
success: function (response) {
...
}
error: function (jqXHR, exception) {
//alert(jqXHR.status);
var msg = '';
if (jqXHR.status === 0) {
msg = 'Not connect.\n Verify Network.';
} else if (jqXHR.status == 404) {
msg = 'Requested page not found. [404]';
} else if (jqXHR.status == 500) {
msg = 'Internal Server Error [500].';
} else if (exception === 'parsererror') {
msg = 'Requested JSON parse failed.';
} else if (exception === 'timeout') {
msg = 'Time out error.';
} else if (exception === 'abort') {
msg = 'Ajax request aborted.';
} else {
msg = 'Uncaught Error.\n' + jqXHR.responseText;
}
alert(msg);
}
});
抛出的错误是 "Not connect.\n Verify Network"。
我已经搜索了这个错误我发现它是在服务无法访问或跨站点脚本(访问被拒绝)时抛出的......奇怪的是有些文件上传成功,有些文件没有上传,这意味着服务是可访问且访问未被拒绝...关于文件类型,它们都是最大大小为 5 MB 的文档文件,每当我删除文件中无法上传的所有内容并再次尝试上传时:功能成功...那么为什么有的文件上传成功,有的文件上传失败呢?我该如何解决我的问题才能上传所有文件?
更新
我在 onchange 事件中触发上传功能:
<input type="file" class="HideFile" onchange="UploadFilesnew();" onclick="resetInput(this)" id="UploadFilenew" />
;
我的输入在 .aspx 页面的 asp:UpdatePanel 中,因此没有表单和操作
请在web.config中添加以下代码。然后再试一次。我认为有时由于文件的大小导致请求失败。
<system.web>
<httpRuntime maxRequestLength="1048576" />
</system.web>
我使用 jquery 和 ajax 制作了一个完整的 javascript 函数来上传文件...一切正常,直到我意识到对于某些文件错误函数被触发ajax 而不是成功函数。下面是我的代码:
$.ajax({
url: 'MyService.asmx/UploadFiles',
type: "POST",
contentType: false,
processData: false,
data: fileData, // form data that contains file and some data
dataType: "text",
success: function (response) {
...
}
error: function (jqXHR, exception) {
//alert(jqXHR.status);
var msg = '';
if (jqXHR.status === 0) {
msg = 'Not connect.\n Verify Network.';
} else if (jqXHR.status == 404) {
msg = 'Requested page not found. [404]';
} else if (jqXHR.status == 500) {
msg = 'Internal Server Error [500].';
} else if (exception === 'parsererror') {
msg = 'Requested JSON parse failed.';
} else if (exception === 'timeout') {
msg = 'Time out error.';
} else if (exception === 'abort') {
msg = 'Ajax request aborted.';
} else {
msg = 'Uncaught Error.\n' + jqXHR.responseText;
}
alert(msg);
}
});
抛出的错误是 "Not connect.\n Verify Network"。 我已经搜索了这个错误我发现它是在服务无法访问或跨站点脚本(访问被拒绝)时抛出的......奇怪的是有些文件上传成功,有些文件没有上传,这意味着服务是可访问且访问未被拒绝...关于文件类型,它们都是最大大小为 5 MB 的文档文件,每当我删除文件中无法上传的所有内容并再次尝试上传时:功能成功...那么为什么有的文件上传成功,有的文件上传失败呢?我该如何解决我的问题才能上传所有文件?
更新
我在 onchange 事件中触发上传功能:
<input type="file" class="HideFile" onchange="UploadFilesnew();" onclick="resetInput(this)" id="UploadFilenew" />
;
我的输入在 .aspx 页面的 asp:UpdatePanel 中,因此没有表单和操作
请在web.config中添加以下代码。然后再试一次。我认为有时由于文件的大小导致请求失败。
<system.web>
<httpRuntime maxRequestLength="1048576" />
</system.web>