首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Ajax >

ajax显示100条数据校验结果不能异步显示;解决办法

2012-03-31 
ajax显示100条数据校验结果不能异步显示;下面是调用代码,循环100次调用ajax函数;Java codefunction asdf()

ajax显示100条数据校验结果不能异步显示;
下面是调用代码,循环100次调用ajax函数;

Java code
function asdf(){var i;i=1; for(i=1;i<=100;i++){  show("jq1.asp?text="+i); }}


===========
ajax函数:
JScript code
function createAjax(){var http;if (window.ActiveXObject){    http=new ActiveXObject("Microsoft.XMLHTTP") ? new ActiveXObject("Microsoft.XMLHTTP") : new ActiveXObject("Msxml2.XMLHTTP");}else if(window.XMLHttpRequest){    http=new XMLHttpRequest();}return http;}var ajax=createAjax();function show(vv){//ajax乱码是因为在传递中文的时候没有进行编码,escape()是进行编码。 ajax.open("GET",vv+"&num="+Math.random(),true);ajax.send(null);ajax.onreadystatechange=getmessage;} function getmessage(){var html;if (ajax.readyState==4){        if (ajax.status==200){     html=ajax.responseText;       document.getElementById("yz").innerHTML=document.getElementById("yz").innerHTML+"<Br>"+html;                  }else    alert('status is:'+ajax.status);}else{ //document.getElementById("yz").innerHTML=document.getElementById("yz").innerHTML+"<BR>"+ajax.readyState;}//alert(html);}



===============================================
我想要的结果是 在页面中一条一条的输出返回值,而现在的效果是 只输出最后一次的返回值;
网上查了说是循环太快,没来得及接收返回值就跳到下一条了;不知道jq有没有类似的效果;

这功能貌似不太难,因为网站中经常看到有逐条输出信息的,只是我不太懂这个;谢谢!



[解决办法]
使用setInterval间隔时间调用
[解决办法]
以前逐条用ajax读取数据显示,直接用循环有问题!我是通过递归调用解决的!你可以思考下!
[解决办法]
应为ajax异步调用,使用递归呢就是为了保证每个ajax的请求都是有先后顺序的,也就是这个请求执行完毕了再去执行下一条请求,说以在递归时是在ajax的回调函数中执行完毕了js的相关操作之后再去执行下一次的ajax调用!
不知道我这样讲你明白不了!

热点排行