ajax执行的顺序问题.

来源:互联网 发布:淘宝提高动态评分 编辑:程序博客网 时间:2024/05/22 16:42
ajax执行的顺序问题.   发邮件通知我更新信息 关于此主题的全部 11 个帖子 - 树式浏览
发件人:   Now - 查看个人资料 日期:   2006年11月21日(星期二) 上午11时32分 电子邮件:   "Now" <NowTo...@gmail.com>
尚未评分
评级:   显示选项
回复 | 答复作者 | 转发 | 打印 | 显示个别帖子 | 显示原始邮件 | 删除 | 报告滥用行为 | 查找此作者的帖子

function FillSelect(){
document.getElementById("spanTest").innerText="加载中....";
//alert("dddd");
var response = AjaxBLLClass.GetUserList();
if(response != null && response.value != null)
{
var drp2 = document.getElementById("select2");
for (i=drp2.length;i>=0;i--)
{
drp2.options.remove(i)
}

for(var i=0; i<response.value.Rows.length; i++)
{
var op = new Option(response.value.Rows[i].logName,
response.value.Rows[i].logName, false, false);
var sel = document.getElementById("select2");
sel.options[sel.length] = op;
}

document.getElementById("spanTest").innerText="加载成功";
}

else
{
//alert('出错!');
 document.getElementById("spanTest").innerText="加载出错";
return false;

 

}
}

ajax数据加载中,无法显示加载中,只有加载完了,才显示加载成功,
要是我加个alert(""),他就可以显示出来加载中,加载完后才显示加载成功.
这是甚么问题..

回复     为此帖评分:


主题已更改:答复: ajax执行的顺序问题.  
发件人:   Bearice Ren - 查看个人资料 日期:   2006年11月21日(星期二) 下午12时54分 电子邮件:   "Bearice Ren" <bear...@gmail.com>
尚未评分
评级:   显示选项
回复 | 答复作者 | 转发 | 打印 | 显示个别帖子 | 显示原始邮件 | 删除 | 报告滥用行为 | 查找此作者的帖子

 是不是运行的太快了?

-----邮件原件-----
发件人: AjaxCn@googlegroups.com [mailto:AjaxCn@googlegroups.com] 代表 Now
发送时间: 2006年11月21日 11:32
收件人: 中国Ajax论坛
主题: ajax执行的顺序问题.

function FillSelect(){
document.getElementById("spanTest").innerText="加载中....";
//alert("dddd");
var response = AjaxBLLClass.GetUserList(); if(response != null &&
response.value != null) { var drp2 = document.getElementById("select2");
for (i=drp2.length;i>=0;i--)
{
drp2.options.remove(i)

}

for(var i=0; i<response.value.Rows.length; i++) { var op = new
Option(response.value.Rows[i].logName,
response.value.Rows[i].logName, false, false); var sel =
document.getElementById("select2");
sel.options[sel.length] = op;
}

document.getElementById("spanTest").innerText="加载成功";
}

else
{
//alert('出错!');
 document.getElementById("spanTest").innerText="加载出错";
return false;

 

}
}

ajax数据加载中,无法显示加载中,只有加载完了,才显示加载成功,
要是我加个alert(""),他就可以显示出来加载中,加载完后才显示加载成功.
这是甚么问题..

回复     为此帖评分:


发件人:   Now - 查看个人资料 日期:   2006年11月21日(星期二) 下午2时14分 电子邮件:   "Now" <NowTo...@gmail.com>
尚未评分
评级:   显示选项
回复 | 答复作者 | 转发 | 打印 | 显示个别帖子 | 显示原始邮件 | 删除 | 报告滥用行为 | 查找此作者的帖子

没有.不是运行得太快,,操作的过程中,,有出现加载的那种页面假死..

就是有在加载,,,,
但是document.getElementById("spanTest").innerText="加载中....";这句话就是不出来
要是这样的话
alert("dddd");
document.getElementById("spanTest").innerText="加载中....";
加个alert
就可以显示,,搞了很久,,也很郁闷,就是没办法解决..

回复     为此帖评分:


发件人:   路边摆摊 - 查看个人资料 日期:   2006年11月21日(星期二) 下午2时45分 电子邮件:   "路边摆摊" <ait...@gmail.com>
尚未评分
评级:   显示选项
回复 | 答复作者 | 转发 | 打印 | 显示个别帖子 | 显示原始邮件 | 删除 | 报告滥用行为 | 查找此作者的帖子

你用了同步读取?

在06-11-21,Now <NowTo...@gmail.com> 写道:

 

> 没有.不是运行得太快,,操作的过程中,,有出现加载的那种页面假死..

> 就是有在加载,,,,
> 但是document.getElementById("spanTest").innerText="加载中....";这句话就是不出来
> 要是这样的话
> alert("dddd");
> document.getElementById("spanTest").innerText="加载中....";
> 加个alert
> 就可以显示,,搞了很久,,也很郁闷,就是没办法解决..

--
爱签么自来签
是担多无话担

回复     为此帖评分:


发件人:   吴锦美 - 查看个人资料 日期:   2006年11月21日(星期二) 下午2时51分 电子邮件:   "吴锦美" <gz.wujin...@gmail.com>
尚未评分
评级:   显示选项
回复 | 答复作者 | 转发 | 打印 | 显示个别帖子 | 显示原始邮件 | 删除 | 报告滥用行为 | 查找此作者的帖子

应该是应该了同步读取,所以会造成假死的现象。

在06-11-21,路边摆摊 <ait...@gmail.com> 写道:

 

 

--
Regards,

吴锦美(Jerry)
OICQ:7679999
MSN:wujin...@msn.com
GTalk:gz.wujin...@gmail.com
Tel: 86-20-61366919 ext. 210
Mobile:13640247643
Address:广州市天河区东莞庄一横路116号科技信息大楼4楼软件部
Postcode:510640

- 显示引用的文字 -

回复     为此帖评分:


主题已更改:ajax执行的顺序问题.  
发件人:   lyamlf123@gmail.com - 查看个人资料 日期:   2006年11月22日(星期三) 上午10时29分 电子邮件:   "lyamlf...@gmail.com" <lyamlf...@gmail.com>
尚未评分
评级:   显示选项
回复 | 答复作者 | 转发 | 打印 | 显示个别帖子 | 显示原始邮件 | 删除 | 报告滥用行为 | 查找此作者的帖子

你仔细看看你的SPANTEST,是否标记正确,不要范低级错误了。
比如:SPNATEST----最看不出来的拼写错误。

回复     为此帖评分:


发件人:   路边摆摊 - 查看个人资料 日期:   2006年11月22日(星期三) 上午10时42分 电子邮件:   "路边摆摊" <ait...@gmail.com>
尚未评分
评级:   显示选项
回复 | 答复作者 | 转发 | 打印 | 显示个别帖子 | 显示原始邮件 | 删除 | 报告滥用行为 | 查找此作者的帖子

出现假死状态一般都是因为使用同步模式的问题吧?

在06-11-22,lyamlf...@gmail.com <lyamlf...@gmail.com> 写道:

 

> 你仔细看看你的SPANTEST,是否标记正确,不要范低级错误了。
> 比如:SPNATEST----最看不出来的拼写错误。

--
爱签么自来签
是担多无话担

回复     为此帖评分:


发件人:   Now - 查看个人资料 日期:   2006年11月22日(星期三) 下午5时28分 电子邮件:   "Now" <NowTo...@gmail.com>
尚未评分
评级:   显示选项
回复 | 答复作者 | 转发 | 打印 | 显示个别帖子 | 显示原始邮件 | 删除 | 报告滥用行为 | 查找此作者的帖子

是采用同步....

就是很奇怪,为什么加载中显示不了
如果把 document.getElementById("spanTest").innerText="加载成功";
 注释掉

加载完后,就会出现
document.getElementById("spanTest").innerText="加载中....";

回复     为此帖评分:


发件人:   路边摆摊 - 查看个人资料 日期:   2006年11月22日(星期三) 下午6时55分 电子邮件:   "路边摆摊" <ait...@gmail.com>
尚未评分
评级:   显示选项
回复 | 答复作者 | 转发 | 打印 | 显示个别帖子 | 显示原始邮件 | 删除 | 报告滥用行为 | 查找此作者的帖子

那就是速度太快没看到啦,你说用alert看得到也是正常的,

你可以试下用一个div来显示这些状态,oDiv.innerText += "……"
这样中间有没有那个状态就很明了了

另外,如果你在本机调试看不到很正常,等你放到网上的时候就明显了的

在06-11-22,Now <NowTo...@gmail.com> 写道:

 

> 是采用同步....

> 就是很奇怪,为什么加载中显示不了
> 如果把 document.getElementById("spanTest").innerText="加载成功";
> 注释掉

> 加载完后,就会出现
> document.getElementById("spanTest").innerText="加载中....";

--
爱签么自来签
是担多无话担

回复     为此帖评分:


发件人:   Zeng Fanliang - 查看个人资料 日期:   2006年11月22日(星期三) 下午8时56分 电子邮件:   "Zeng Fanliang" <zeng.fanli...@gmail.com>
尚未评分
评级:   显示选项
回复 | 答复作者 | 转发 | 打印 | 显示个别帖子 | 显示原始邮件 | 删除 | 报告滥用行为 | 查找此作者的帖子

根据我的理解,你在var response=AjaxBLLClass.GetUserList
();这一句前加上alert()好像不能解决问题,加在它后面就应该可以。
我理解的原因是,在GetUserList()是,服务器在执行ajax请求时,客户端就应该已经在执行if(response !=
null.....)这一句了。
所以,你应该在GetUserList()调用的请求完成后再做检查,具体方法可以把ajax请求完成后要执行的操作写成一个函数,而GetUserList可­以带一个函数参数,说明要调用的函数。或者直接在GetUserList的参数里声明这个函数。

在06-11-21,Now <NowTo...@gmail.com> 写道:

 

- 显示引用的文字 -

回复     为此帖评分:


发件人:   路边摆摊 - 查看个人资料 日期:   2006年11月22日(星期三) 下午10时13分 电子邮件:   "路边摆摊" <ait...@gmail.com>
尚未评分
评级:   显示选项
回复 | 答复作者 | 转发 | 打印 | 显示个别帖子 | 显示原始邮件 | 删除 | 报告滥用行为 | 查找此作者的帖子

刚重新看了一下
楼主所提现象应该就是速度太快,导致你看不到"加载中"的提示,

而当你加了alert("dddd")的时候,程序运行到这里弹出对话框,在你点击确定之前,程序是一直暂停在这里的,后面的更改提示为"加载成功"并未执行到­,所以弹出对话框时看得到"加载中"

在06-11-22,Now <NowTo...@gmail.com> 写道:

 

> 是采用同步....

> 就是很奇怪,为什么加载中显示不了
> 如果把 document.getElementById("spanTest").innerText="加载成功";
> 注释掉

> 加载完后,就会出现
> document.getElementById("spanTest").innerText="加载中....";

--
爱签么自来签
是担多无话担