Показать сообщение отдельно
  #1 (permalink)  
Старый 20.03.2015, 01:47
Аватар для blacklool
Аспирант
Отправить личное сообщение для blacklool Посмотреть профиль Найти все сообщения от blacklool
 
Регистрация: 16.01.2014
Сообщений: 50

jquery ajax file upliading method PUT
Здравстуйте,
кто нибудь может обяснить почему такой код работает только если type: 'POST' ?

Код:
$.ajax({
    xhr: function(){
    var xhr = new window.XMLHttpRequest();
    xhr.upload.addEventListener("progress", function(evt){
        uploadProgress(evt);
    }, false);
    xhr.addEventListener("progress", function(evt){
      console.log('down');
    }, false);
    return xhr;
    },
    url : 'upload',
    type: 'PUT',
    data: data,
    cache: false,
    dataType: 'json',
    processData: false,
    contentType: false,
    success: function(data, textStatus, jqXHR){
        console.log(textStatus);
    },
    error: function(jqXHR, exception){
        alert("error --'");
    }
});
когда стоит POST то файл/лы передаются и upload проходит с успехом, но когда стоит PUT на сервер файлы не отправлаются..

И вообще возможно по методу PUT сделать upload без submit формы?

такой код у меня не работает:
Код:
$('#file-input').on('change', prepareUpload);

var files;

function prepareUpload(event){
    files = event.target.files;
    $.each(files, function(key, value){
        data.append(key, value);
    });

    $.put(
        $(this).parent().attr('action'),
        data,
        onAjaxSuccess_s
    )
}
что не так?
Ответить с цитированием