我无法理解为什么这段代码不适用于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
)
}