Javascript Settimeout问题

时间:2009-10-06 07:11:22

标签: javascript

在我的应用程序中,我使用的是asp.net3.5,ajax.dll。

我使用javascript中的ajax调用所有功能。

有时我需要从服务器端获取条件结果,然后我才能转到下一个条件。

对于上述情况,javascript在执行第一个条件之前传递到下一个条件。

所以我添加了以下代码以使其工作,

setTimeOut("finddefaultvideo()",1000);

有人可以帮我摆脱这个问题吗?

我理解的一件事是,它不会等到服务器返回值的时间。

任何克服上述想法的想法?

2 个答案:

答案 0 :(得分:2)

我不知道我是否理解正确,但这可能是您正在寻找的解决方案(但它使用的是jquery)

  $.ajax({
   type: "POST",
   url: "some.php",
   data: "name=John&location=Boston",
   success: function(msg){
     alert( "Data Saved: " + msg );
   }
 });

一旦您的ajax请求成功完成且服务器发送了响应数据,就会显示警告消息。

答案 1 :(得分:0)

除非你做某种递归轮询技术,否则

setTimeout对此不可靠。在返回ajax回调后,您需要调用finddefaultvideo。你可以将finddefaultvideo()放在你的ajax回调中,那个被解雇的onreadystatechange和readyState是4并且'完成'。

ajaxCallback: function(html) {
    if ( something ) {
       executeRestOfCode();
    }
}

function executeRestOfCode() {
    // your code that needs to be invoked after the ajax callback
}