Успех JQuery не сработал во время выполнения другого вызова ajax - PullRequest
1 голос
/ 04 ноября 2010

У меня проблема с двумя вызовами ajax с использованием jQuery 1.4.2. При первом вызове серверу требуется много времени, чтобы ответить (более 40 секунд), и когда второй вызов сработает (не истекает время ожидания), FireBug сообщает, что ответ на второй запрос загружен нормально, но событие успеха уволена. Может кто-нибудь сказать мне, почему это будет? Когда первый вызов завершается, запускается второе успешное событие. Я не хочу ждать, пока первый вызов завершится.

Пример моего кода:

function GetSession () {

    var superUrl = "";
    superUrl = "http://urltakingalongtimetogivea200response";
    // requires authentication
    $.ajax({ url: superUrl,
    dataType: "jsonp",
        timeout: 5000,
        jsonpCallback: 'Login',
        contentType: "application/json; charset=utf-8",
        success: function GotSession(result) {
            sessionkey = result.SessionKey;
        },
        error: function AjaxFailed(result) {
            alert("error retrieving session:" + result);
        }
    });
}

$ ("# click-me"). Click (function () {

    theQuery = "http://urlreturningresponsequickly";

    $.ajax({ url: theQuery,
        dataType: "jsonp",
        jsonpCallback: 'Results1s',
        contentType: "application/json; charset=utf-8",

        success: function Success(result) {
            alert("this is taking to long to succeed");
            // other methods
        }
,
        error: function AjaxFailed(result) {
            alert("error:" + result);
        }
    });
});

Спасибо, Colin.

1 Ответ

0 голосов
/ 04 ноября 2010

Не уверен, но, возможно, вам придется добавить:

async: true

к вызовам ajax

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...