1

我发现对 $.get 的嵌套调用在 JQuery 中不起作用。我已经将我的情况归结为如下所示。第一次调用 $.get,然后回调函数第二次调用 $.get 如果条件为真。即使我看到条件为真的警报,似乎也没有进行第二次调用。

有没有人像这样嵌套工作?

function callbackFn (responseText, textStatus, XMLHttpRequest) {
    alert("About to make call.  Condition is " + someCondition);
    if (someCondition) {
        $.get("localhost:8080/MyServlet?action=bar");
    }
    document.location.href = "http://www.google.com"

}

$(document).ready(function() {
    $.get("localhost:8080/MyServlet?action=foo", callbackFn);

} 
4

2 回答 2

0

It is better to chain different ajax requests, since they are asynch. Chaining is best done with .succes() .complete()

于 2012-08-15T23:10:12.843 回答
0

试试这个(使用 jsfiddle "/echo/html/" 来测试 AJAX):

function callbackFn (data) {
    alert(data);
    if(data === 'First POST') {
        $.ajax({
          type: 'POST',
          url: "/echo/html/",
          data: {
                html: 'Second POST'
                },
          success: callbackFn,
          dataType: "HTML"
        });
    }
}

$(function() {
    $.ajax({
      type: 'POST',
      url: "/echo/html/",
      data: {
            html: 'First POST'
            },
      success: callbackFn,
      dataType: "HTML"
    });
})
于 2012-08-15T23:28:42.587 回答