Jquery - при вызове Ajax Load Req;Лучший способ предотвратить несколько вызовов? - PullRequest
0 голосов
/ 11 марта 2011

У меня есть ссылка 'hrefs = "javascript: callFunc ()">', которая вызывает функцию 'callFunc ()';

function callFunc(){
    $.ajax({
           type: "POST",
           url: "call.php",
           data: "i="+i+add,
           success: function(msg){

                $('#content').html(msg);
           }
         });
}

Проблема: когда пользователь щелкает эту ссылку 4 раза, callFunc собирается вызвать 4 раза, отправив 4 * сообщение через ajax.

В любом случае, чтобы заблокировать это?

* Обратите внимание, что ссылка может быть и через страницу;И могут быть похожие функции.

Ответы [ 2 ]

0 голосов
/ 11 марта 2011

Сделайте так, чтобы обработчик событий отключил ссылку, или, возможно, лучше замените ее на «Пожалуйста, подождите ...» или другое соответствующее сообщение обратной связи.

0 голосов
/ 11 марта 2011

А как же:

window.funcRunning = false;

function callFunc(){
    if(window.funcRunning == false) {
    window.funcRunning = true;
    $.ajax({
           type: "POST",
           url: "call.php",
           data: "i="+i+add,
           success: function(msg){

                $('#content').html(msg);
                window.funcRunning = false;
           }
         });
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...