来自 xmlhttprequest 的空响应文本

发布于 2024-11-18 16:47:28 字数 360 浏览 0 评论 0原文

我使用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);

I'm upload an file using ajax,why the responseText from xmlhttprequest.responseText is returned empty?

My code:

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);

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

诺曦 2024-11-25 16:47:28

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

编辑:但是,可以使用 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'}));

Uploading files in XMLHttpRequest object is not supported for security reasons

EDIT: This is, however, possible with 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'}));
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文