JavaScript代码:
var httprequest = new XMLHttpRequest();
var time = new Date();
if (httprequest) {
httprequest.onreadystatechange = function () {
if (httprequest.readyState == 4) {
alert("OK");
}
};
httprequest.open("GET", "http://www.google.com", false);
httprequest.send(null);
}
alert(new Date() - time);
IE8:确定,将出现时间对话框
Chrome10:提示“确定”对话框,但不提示时间对话框
Firefox3.6:确定,不会出现时间对话框
为什么有些对话框不提示?
最佳答案
您的情况下的httprequest.send(null)根本不会返回-它阻止了js代码的执行,因此该行之后的所有内容均未执行-我无法告诉您为什么这样做,这可能是实现的细节在特定的浏览器或其他工具上。
您要做的是异步运行它:在调用“ open”方法时将“ false”更改为“ true”:
httprequest.open("GET", "http://www.google.com", true);
在相关说明中-如果您要开始使用Ajax,请尝试使用jQuery之类的JavaScript框架-作为js开发人员,它提供了与浏览器无关的方法来处理DOM,事件,Ajax,它们为简化您的生活做出了很大的贡献和更多。
关于javascript - 一个关于IE8,Firefox3.6和Chrome的简单Ajax问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5320458/