Jon*_*ona 5 javascript xmlhttprequest
我遇到了XMLHttpRequest下载渐进式数据的问题.我得到状态2而不是状态3.在状态3之后它再也不会被调用.我究竟做错了什么?我读到了需要刷新数据的地方,但我该怎么做?
这是我的代码:
var xmlHttp = new XMLHttpRequest();
// try to connect to the server
try
{
// initiate server request
xmlHttp.open("GET", "http://208.43.121.133:8164/;", true);
xmlHttp.setRequestHeader("Icy-Metadata", "1");
xmlHttp.onreadystatechange = function()
{
alert("status: "+xmlHttp.status);
alert("State: "+xmlHttp.readyState);
if (xmlHttp.readyState == 3)
{
alert(xmlHttp.responseText);
}
};
xmlHttp.send(null);
}
// display an error in case of failure
catch (e)
{
alert("Can't connect to server:\n" + e.toString());
}
Run Code Online (Sandbox Code Playgroud)
我准备好在readyState为3时读取xmlHttp.responseText吗?
Jua*_*des -4
Kranu是正确的,当readyState为3时,您不允许读取responseText。请参阅http://www.davidflanagan.com/2005/08/xmlhttprequestreadystate-3.html
解决方案是一次发送一条消息。当您收到一条消息时,只需再制作另一条 XHR 即可。这就是谷歌(确实?)服务器推送的方式。