xmlhttprequest中的responseText为空

empty responseText from xmlhttprequest

本文关键字:为空 responseText 中的 xmlhttprequest      更新时间:2023-09-26

我正在使用ajax上传一个文件,为什么xmlhttprequest.responseText中的responseText返回为空?

我的代码:

req = new XMLHttpRequest(); 
req.file = file; 
req.addEventListener('change', changeProgress); 
 req.onreadystatechange = 
function() {
if(this.readyState == 4) {
  //etc.. 
alert(req.responseText);
}
}; 
req.open('POST','/upload',true);
req.send(file);

由于安全原因,不支持在XMLHttpRequest对象中上传文件

EDIT:不过,XMLHttpRequest 2可以实现这一点

function upload(blobOrFile) {
  var xhr = new XMLHttpRequest();
  xhr.open('POST', '/server', true);
  xhr.onload = function(e) { ... };
  // Listen to the upload progress.
  var progressBar = document.querySelector('progress');
  xhr.upload.onprogress = function(e) {
    if (e.lengthComputable) {
      progressBar.value = (e.loaded / e.total) * 100;
      progressBar.textContent = progressBar.value; // Fallback for unsupported browsers.
    }
  };
  xhr.send(blobOrFile);
}
upload(new Blob(['hello world'], {type: 'text/plain'}));