在Prototype中嵌入Ajax调用

时间:2011-05-25 05:32:39

标签: javascript prototypejs

我需要进行两次Ajax调用,一次调用依赖于前一次调用的返回值。我试图从外部对象的onComplete函数中创建一个新的Ajax对象,但似乎永远不会调用它。

正在调用外部对象的onComplete函数。代码执行到我构造第二个Ajax对象的位置。

它看起来像这样:

function called_from_page() {
  new Ajax.Request(
    '/request_url',
    { method: 'post', parameters: '', onComplete: function(originalRequest) {
      if (originalRequest.responseText == '0') {
         // do something
      } else {
         call_next_ajax();
      }
    }});
 }

 function call_next_ajax() {
    new Ajax.Request(
       '/next_request_url',
       { method: 'post', parameters: '', onComplete: some_other_function });
  }

所以,问题是,调用了call_next_ajax,但是没有调用其中的ajax请求。

2 个答案:

答案 0 :(得分:0)

我能想到的唯一问题是:没有'next_request_url'或没有'some_other_function'。在这两种情况下,'call_next_ajax()'都不会执行。

答案 1 :(得分:0)

Defer第二步改变......

call_next_ajax();

...到...

call_next_ajax.defer();