AJAX代码回调函数callback()没有执行
写的这个ajax实现联动的代码时,在sendRequest()函数中执行xmlHttpRequest.onreadystatechange=callback这句跳入callback()函数后,打印alert("call in")什么都没有,表示这个函数根本都没有被执行?不知道哪错了。请大家帮忙看看,在线等!~~
<script type="text/javascript">
//窗口打开时加载
window.onload = function(){
document.all.city.options[document.all.city.options.length]=new Option("武汉","1")
document.all.city.options[document.all.city.options.length]=new Option("荆州","2")
document.all.city.options[document.all.city.options.length]=new Option("襄樊","3")
document.getElementById("city").selectedIndex=0;
}
var xmlHttpRequest;
//--创建xmlHttpRequest对象
function createXmlHttpRequest(){
if(window.xmlHttpRequest){
xmlHttpRequest = new XmlHttpRequest();
} else if(window.ActiveXObject){
xmlHttpRequest = new ActiveXObject("Miscorosoft.XMLHTTP");
}
if(!xmlHttpRequest){
alert("创建对象失败");
}
alert("createXmlHttpRequest");
}
createXmlHttpRequest();
//回调函数
function callback(){
alert("call in"); //这句没有被打印。这个函数没有被执行?????
if(xmlHttpRequest.readyState==4){
if(xmlHttpRequest.status==200){
alert("callback");
window.alert(xmlHttpRequest.responseText);
}else{
alert("服务器"+xmlHttpRequest.status+"错误");
}
}
}
//当对象创建成功后,服务器的请求操作
function sendRequest(func, url, param){
alert("sendRequest");
xmlHttpRequest.onreadystatechange=callback;
alert("sendRequest12");
xmlHttpRequest.open("POST",url,true);
xmlHttpRequest.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
xmlHttpRequest.send(param);
}
function queryCity(id){
alert(id);
sendRequest(callback,"<%=path%>/querycity.do","id="+id); //这里执行出问题
alert("queryCity"); //这里没有执行
}
//调用服务器端返回的数据,进行显示
function display(){
document.getElementById ("city").innerHTML = xmlHttpRequest.responseText;
}
</script>