Загрузка файлов с помощью ajax и jquery возвращает сетевую ошибку для некоторых файлов
Я сделал полную функцию javascript, используя jquery и ajax для загрузки файлов ... Все работает отлично, пока я не понял, что для некоторых файлов функция ошибки запускается в 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 проверить сеть". Я искал эту ошибку и обнаружил, что она возникает, когда служба недоступна или когда межсайтовый сценарий (доступ запрещен) ... Самое странное, что некоторые файлы загружаются успешно, другие-нет, а это значит, что сервис доступен и доступ не запрещен ... А что касается типов файлов, то все они являются файлами docs с максимальным размером 5 Мб, всякий раз, когда я удаляю все внутри файла, что не может быть загружено, и я снова пытаюсь загрузить: функция завершается успешно...
Я запускаю функцию загрузки в событии onchange:
<input type="file" class="HideFile" onchange="UploadFilesnew();" onclick="resetInput(this)" id="UploadFilenew" /> ;
Мой ввод находится внутри ASP: UpdatePanel на странице. aspx, поэтому никаких форм и действий ...
Так почему же некоторые файлы загружаются успешно, а другие-нет? Как я могу решить свою проблему, чтобы иметь возможность загружать все файлы?
Что я уже пробовал:
Я попытался вернуть false при изменении, как это было предложено в некоторых решениях:
<input type="file" class="HideFile" onchange="UploadFilesnew();return false;" onclick="resetInput(this)" id="UploadFilenew" /> ;
Но это не сработало
Я также установил последнюю версию jquery, так как у меня была старая, но она не работала