Ответы пользователя по тегу ASP.NET
  • Почему не работает ajax и мой скрипт вместе?

    Mr_Smitt
    @Mr_Smitt
    На сколько мне известно $.ajax не умеет отправлять файлы
    Попробуй вот так:
    $(document).on('submit', '#user_files', function () {
        var self = this;
        var files = document.querySelector('input[type="file"]').files;
        var formData = new FormData();
    
        for (var i = 0, file; file = files[i]; ++i) {
          formData.append(file.name, file);
        }
    
        var xhr = new XMLHttpRequest();
        xhr.open('POST', $(self).attr("action"), true);
        xhr.upload.onprogress = function (e) {
          if (e.lengthComputable) {
            if (((e.loaded / e.total) * 100) >= 100) {
              alert("Загрузил!");
            }
          }
        };
        xhr.send(formData);
        return false;
      });

    + вариант с возможным прогрессбаром
    $(document).on('submit', '#user_files', function () {
        var self = this;
        var files = document.querySelector('input[type="file"]').files;
        var progress = $(".progress .bar");
        var formData = new FormData();
    
        for (var i = 0, file; file = files[i]; ++i) {
          formData.append(file.name, file);
        }
    
        var xhr = new XMLHttpRequest();
        xhr.open('POST', $(self).attr("action"), true);
    
        xhr.upload.onprogress = function (e) {
          if (e.lengthComputable) {
            progress.css({"width": ((e.loaded / e.total) * 100) + "%"});
            if (((e.loaded / e.total) * 100) >= 100) {
              alert("Загрузил!");
            }
          }
        };
    
        xhr.send(formData);
        return false;
      });
    Ответ написан
    Комментировать