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

Ajax步骤的执行顺序

2012-10-15 
Ajax方法的执行顺序function fun1(){$.ajax{}}function fun2(){$.ajax{.... success:function(msg){fun1()

Ajax方法的执行顺序
 
function fun1()
{
  $.ajax{} 
}

function fun2()
{
  $.ajax{.... success:function(msg){ fun1() }}; 

}

大致结构如上 我想当 fun2 中的方法每次调用 fun1() 的时候 先让fun1() 执行完毕后 在继续执行 
 有没有方法可以做到?

[解决办法]
那就不要放在ajax中,
function fun2()
{
fun1() ;
$.ajax{.... success:function(msg){ }};

}

[解决办法]
差不多吧
[解决办法]
这种问题也拿来问,自己还是多想想吧
[解决办法]

探讨

引用:
那就不要放在ajax中,
function fun2()
{
fun1() ;
$.ajax{.... success:function(msg){ }};

}

问题就是 这个方法需要的参数是从那个里面获取出来的

[解决办法]
不知道大家为什么对这个问题这么陌生,在发送请求的属性里面将async:false就行了啊,表明这不是异步方法,他就会等待执行完毕然后继续。

JScript code
function checkCode(code){    $.ajax({    url: '/admin/WebService1.asmx/CheckVerifyImage',    type: 'POST',    dataType:"xml",    data:{code:code},    [color=#FF0000]async:false,[/color]    success: function(msg){        isCodeRight=msg.text;    },    error: function(x, e) {        alert(x.responseText);        return false;    }});}
[解决办法]
闻道有先后,术业有专攻。不知道就问,我前几天也问了这个问题http://topic.csdn.net/u/20100618/16/1164465b-51af-47f1-a713-a3d301b27e56.html
[解决办法]
探讨

闻道有先后,术业有专攻。不知道就问,我前几天也问了这个问题http://topic.csdn.net/u/20100618/16/1164465b-51af-47f1-a713-a3d301b27e56.html

[解决办法]
这个是异步的问题,

出现异步的字眼,,就要想到方法的执行是并行的,

简单理解同步代表是一个执行序列,是有顺序的,而异步是不用等上一操作执行完毕,就可以执行下一步操作

你的fun1 和 fun2

都是异步,具体怎么改,,应该知道吧?

把fun2 放在fun1 AJAX 成功回调方法里,才能保证执行fun2 前 先执行 fun1

如果改成async 这个属性,成同步的话,那要AJAX 何用...


[解决办法]
初学者。顶下
[解决办法]
顶一下
[解决办法]
太赞成楼主的第二次发言了,现在就是有些这种人,以为自己学得很好,懂得挺多,其实呀都是装BI的
[解决办法]
你说的不行是不能顺序执行还是什么不行啊?
[解决办法]
探讨
不知道大家为什么对这个问题这么陌生,在发送请求的属性里面将async:false就行了啊,表明这不是异步方法,他就会等待执行完毕然后继续。


JScript code

function checkCode(code){
$.ajax({
url: '/admin/WebService1.asmx/CheckVerifyImage',
type: 'POS……

[解决办法]
是啊,把导步去掉的话,ajax也就没啥作用啦,这种问题确实很纠结
[解决办法]
从你贴的代码来看,,两个AJAX 可以合并成一个

一步到位的返回RoleName不好吗?
[解决办法]
要是我的话 把剩下要执行的代码再封装起来,等fun1执行完了,再去执行

JScript code
function fun1(){  $.ajax{}  }function fun2(){  $.ajax{.... success:function(msg){ fun1() }};    语句块1}//--------改写成--------------------------------function fun1(){  $.ajax{.... success:function(msg){ fun3() }};  }function fun2(){  $.ajax{.... success:function(msg){ fun1() }};    }fun3(){ 语句块1} 


[解决办法]

探讨
从你贴的代码来看,,两个AJAX 可以合并成一个

一步到位的返回RoleName不好吗?

[解决办法]
有时候是要分开的,把代码都堆在一起太不负责任了
[解决办法]
一个方法或者过程的代码量尽量控制在20行到30行,别人才容易看得懂
[解决办法]
异步问题
方法2 放到方法1回调函数中调用就行了

新群 DotNet Programmer 群号 112850311
本群新开,欢迎dotnet程序员加入,我们致力于营造一个好的学习交流氛围,不管你是高手还是菜鸟,只要你虚心好学,我们都诚挚的欢迎您。
[解决办法]
看你如何重用了。。

在后台重用也一样啊,

后台GetRoleName 方法大家都用,

RoleManager.ashx

AdminManager.ashx

等文件

两个文件里面的类 都 继承同一个类

为基类写一个GetRoleName方法, 根据roleid 得到 rolename

这样还减少了服务器请求,减少资源浪费

热点排行