使用ajax和jquery上传文件会返回SOME文件的网络错误

时间:2017-03-20 08:29:57

标签: javascript jquery ajax jquery-file-upload

我使用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);
           }
    });

引发的错误是“未连接。\ n验证网络”。 我搜索了这个错误,我发现当服务无法访问或跨站点脚本(访问被拒绝)时抛出它...奇怪的是有些文件上传成功,有些文件没有上传,这意味着服务是无法访问可访问和访问...有关文件类型,它们都是最大大小为5 MB的文档文件,每当我删除无法上传的文件中的所有内容时,我再次尝试上传:功能成功...那么为什么有些文件成功上传而其他文件没有?如何解决我的问题才能上传所有文件?

更新

我在onchange事件中触发上传功能: <input type="file" class="HideFile" onchange="UploadFilesnew();" onclick="resetInput(this)" id="UploadFilenew" />;

我的输入位于.aspx页面中的asp:UpdatePanel内部,因此没有表单和操作

1 个答案:

答案 0 :(得分:1)

请在web.config中添加以下代码。然后再试一次。我认为有时请求会因文件大小而失败。

<system.web>
     <httpRuntime maxRequestLength="1048576" />
</system.web>