emon123 2009年04月13日
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>
...全文
750 点赞 收藏 6
写回复
6 条回复

还没有回复,快来抢沙发~

发动态
发帖子
Ajax
创建于2007-09-28

3.2w+

社区成员

2.5w+

社区内容

Web 开发 Ajax
社区公告
暂无公告