1

$.get へのネストされた呼び出しが JQuery で機能しないことがわかりました。私は自分の状況を以下のようなものに要約しました。$.get への最初の呼び出しが行われ、条件が true の場合、コールバック関数は $.get への 2 回目の呼び出しを行います。条件が true のアラートが表示されているにもかかわらず、2 番目の呼び出しが行われていないようです。

このようにネストして機能するようになった人はいますか?

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

異なる ajax リクエストは非同期であるため、チェーンすることをお勧めします。チェーンは .succes() .complete() で行うのが最適です

于 2012-08-15T23:10:12.843 に答える
0

これを試してください(AJAX のテストに jsfiddle "/echo/html/" を使用):

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 に答える