Загрузка Файлов Ajax

Всем доброе утро.

Поделитесь пожалуйста рабочим примером, вроде этого(не рабочий :( ):




<input type="file" id="imgFile" name="images[]" multiple onchange="sendForm()"/>


<script>

function sendForm(){


var fd = new FormData();

fd.append('img', $('#imgFile')[0].files[0]);


$.ajax({

  cache: false,

  type: 'POST',

  url: '/administration/items/update/<? echo $model->id ?>',

  data: fd,

  processData: false,

  contentType: false,

  dataType: 'json',

  success: function(data) {

    alert('success');

  },

  error: function(data) {

    alert('error');

  }

});

}

</script>



Странно, файл загружается, но все равно вылетает error, я так понимаю ответ от сервера не приходит :blink:

А чего догадываться-то? Проверь через консоль браузера, что приходит в ответ. Может там сразу станет очевидно.


error: function(data) {

    alert('error');

  },



сделай


console.debug(data)

вместо неинформативного alert и глянь в JS консоли браузера.

Ок, спасибо :)

readyState: 4, status: 200, statusText: “OK” Непойму чего я не так делаю :(

Странности какие-то, вынес загрузку файлов в отдельный экшн и все заработало :blink:

Попробуйте использовать готовое решение jQuery File Upload

Или xupload. Оно же только портировано в виде extension для yii.

А вообще свой велосипед душу греет :rolleyes:

Насчет велосипеда это верно, спасибо, разобрался :)