xhr.upload.addEventListener加载空xhr.responseText

时间:2011-02-08 01:53:44

标签: javascript google-chrome

xhr.open('put',url,false)
xhr.upload.addEventListener('load',function(e){alert(xhr.responseText)},false)

为什么xhr.responseText为空?当使用xhr.onreadystatechange 4时,xhr.responseText有数据吗?

2 个答案:

答案 0 :(得分:3)

Gert试图说的是你必须将事件监听器添加到xhr对象,而不是xhr.upload。我不完全确定原因,the spec并不完全清楚。它与任何默认的异步请求无关。

而不是:

xhr.upload.addEventListener('load', function(e){ alert(xhr.responseText); }, false);

你必须这样做:

xhr.addEventListener('load', function(e){ alert(xhr.responseText); }, false);

答案 1 :(得分:1)

(我的老答案可能是错的,看看Timmmm的新答案)

我需要异步设置XMLHttpRequest才能使其正常工作。

xhr.open('put',url,true)

xhr.addEventListener('load',function(e){alert(xhr.response)},false)