在nodeJS问题上使用PUT上传文件

时间:2015-03-19 22:40:03

标签: javascript jquery ajax node.js forms

我无法理解为什么这段代码不适用于PUT方法,只适用于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 --'");
    }
});

当我在type POST 时,上传有效,但它不适用于PUT:X

还有一种方法可以通过 PUT 上传文件,而无需提交表单吗?

因为这样的代码不起作用:

$('#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
    )
}

0 个答案:

没有答案