Вы не можете перейти на другую страницу, если вы не получили ответ - PullRequest
0 голосов
/ 27 декабря 2011
$(function() {
    function x() {
        $.ajax({
            cache: false,
            type: "post",
            data: 'messages=' + 5,
            url: 'http://url.com',
            complete: function(data) {
                x(true);
            },
            error: function(x, t, m) {
                alert(t);
            },
            dataType: "text"
        });
    }
})

Если я использую кометный подход и не получаю ответ от url.com и нажимаю, например, на логотип, то это дает мне предупреждение «ошибка», но мне все еще нужно ждать, пока я получу ответ от URL. ком, чтобы иметь возможность перейти на другую страницу. Я думаю, что я должен сделать что-то в этой части вместо предупреждения:

            error: function(x, t, m) {
                alert(t);
            },

Не уверен, что.

РЕДАКТИРОВАТЬ: Я хочу, чтобы тот человек, который нажал на логотип или любую другую ссылку, был перенаправлен туда мгновенно, не дожидаясь ответа ajax.

1 Ответ

0 голосов
/ 03 января 2012
var xhr = $.ajax({

Когда вам нужно остановить запрос, используйте xhr.abort ();

, например:

$(document).ready(function() {

    $("a").live("click",function() {
        xhr.abort();
        return true;
    });

*// code which calls AJAX request here*

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