求救!!!!!js Ajax 回调函数顺序问题

dwxqn1010 2011-07-07 10:24:37
用什么办法让handlestatechange执行完在走alert, 大家帮我想想 我想了一下午 都没有结果!!谢谢了

<script type="text/javascript">
var xmlHttp;
//创建一个XmlHttpRequeset对象
function createXMLHttpRequest(){
if(window.ActiveXObject){
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
else if(window.XMLHttpRequest){
xmlHttp = new XMLHttpRequest();
}
}
var result;
//开始一个请求
function startRequest(){

createXMLHttpRequest();
xmlHttp.onreadystatechange = handlestatechange;
xmlHttp.open("GET", "SimpleRespose.xml", true);
xmlHttp.Send(null);
//用什么办法让handlestatechange执行完在走alert
alert("结果:" + result);
}

function handlestatechange(){
if(xmlHttp.readyState == 4){//描述一种"已加载"状态;此时,响应已经被完全接收。
if(xmlHttp.status == 200){//200表示成功收到
alert("The Server Replied with:" + xmlHttp.responseText)
}
}
}

startRequest();
</script>
...全文
212 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
KK3K2005 2011-07-08
  • 打赏
  • 举报
回复
[Quote=引用楼主 dwxqn1010 的回复:]
用什么办法让handlestatechange执行完在走alert, 大家帮我想想 我想了一下午 都没有结果!!谢谢了
。。。
[/Quote]

想多了
去看看教程 也就 半个小时的事情
lsw645645645 2011-07-07
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 waistcoat22 的回复:]
JScript code

xmlHttp.open("GET", "SimpleRespose.xml", false);
[/Quote]
+
豆虫 2011-07-07
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 waistcoat22 的回复:]
JScript code
xmlHttp.open("GET", "SimpleRespose.xml", false);
[/Quote]
用false浏览器会阻塞代码的运行直到结果返回 这就是同步的结果

LZ的这个问题其实正是因为Ajax是个异步的过程所致
相当与有两个线程(一个请求,一个alert)在跑
Waistcoat22 2011-07-07
  • 打赏
  • 举报
回复
xmlHttp.open("GET", "SimpleRespose.xml", false);

87,989

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧