2011-07-02 46 views
1

我上传一个使用ajax的文件,为什么xmlhttprequest.responseText的responseText返回空?xmlhttprequest中的空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); 

回答

2

在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'})); 
+0

你做平均,我可以上传,但不能访问ajax的responseText? –

+0

他意味着你不能通过'XMLHttpRequest'对象上传文件 – nrathaus

+0

这不再准确。见http://www.w3.org/TR/XMLHttpRequest2/ –

相关问题