Mea*_*ell 7 javascript xmlhttprequest
我有一段需要调试的Javascript:
var httpRequest = new XMLHttpRequest();
httpRequest.onreadystatechange = function() {
if (this.readyState === XMLHttpRequest.DONE) {
if (this.status === 200) {
success = true;
}
}
};
Run Code Online (Sandbox Code Playgroud)
逐步浏览Chrome和Firefox,我发现第一个"if"失败了.我可以看到"this.readyState"设置为"1",根据W3C规范来判断应该是"打开".将鼠标悬停在Firebug中的".DONE"段上会将其显示为未定义而不是"4".
http://www.w3.org/TR/XMLHttpRequest/#states
Firefox和Chrome中是否存在不支持这些值的问题?
提前致谢!
有些浏览器不知道XMLHttpRequest.Done属性,所以你应该在第一个'if'之前检查它.
var DONE = (typeof XMLHttpRequest.Done !== 'undefined') ? XMLHttpRequest.Done : 4;
Run Code Online (Sandbox Code Playgroud)