//js
function Ajax(){
var XHR=getHttpObject();
if(!XHR) return false;
XHR.open('GET',"/test/hello.php",true); //异步发送请求
XHR.onreadystatechange = function() {
if (XHR.readyState==4) {
if ((XHR.status >= 200 && XHR.status < 300) || XHR.status == 304) {
var matches = XHR.responseText;
if(matches.length>0) {
console.log(matches);
}else{
console.log("can not output responseText");
}
}else{
console.log(XHR.status);
}
}
};
XHR.send(null);
return true;
}
var btn = document.getElementById("btn");
var bt = document.getElementById("bbb");
var cc = document.getElementById("ccc");
bt.addEventListener("click",function(){
console.log("before ajax");
});
addEventHandler(btn,"click",Ajax());
cc.addEventListener("click",function(){
console.log("after ajax");
});
//HTML
ajax
bbb
ccc
为什么控制台会首先输出ajax数据,没有触发click事件,为什么直接输出到控制台,而使用
btn.onclick = function(){
Ajax();
} //触发才输出
到底在哪里触发了?