ajax-запрос один раз отправлен при наведении курсора мыши, ответ получен, но не должен отправляться снова при повторном наведении курсора мыши на элемент html - PullRequest
0 голосов
/ 27 августа 2011

Я отправляю ajax-запрос на событие мыши, и я получаю желаемый ответ. Но когда я снова отправляю указатель мыши на элемент, запрос которого был отправлен, запрос отправляется снова.

Я не хочу отправлять запрос снова, скорее я хочу, чтобы страница использовала ранее полученный ответ.

Кто это делает ?? Вот пример кода. -> эта функция вызывается при наведении курсора мыши, не нужно повторно отправлять запрос на тот же элемент наведения курсора мыши.

function showImage(val)
{
    $("#DIV").html('<IMAGESOURCE="../adsd/ajax_loader.gif">');

    $.ajax({
        type        : "get",
        cache   : false,
        url     : "blabla.php?imgID="+val,
        data        : $(this).serializeArray(),
        success: function(data) {
            document.getElementById("DIV").innerHTML = data;
        }
    });
};

Ответы [ 2 ]

1 голос
/ 27 августа 2011

Установите переменную в значение при получении ответа и проверьте эту переменную перед отправкой запроса.

var response = false;
function showImage(val)
{
    $("#DIV").html('');
    if (response == false) {
        $.ajax({    
            type    : "get",
            cache   : false,
            url     : "blabla.php?imgID=" + val,
            data    : $(this).serializeArray(),
            success: function(data)
            {
                document.getElementById("DIV").innerHTML = data;
                response = true;
            }            
        });
    } else {
        // What to do if the request was sent before
    }
};
0 голосов
/ 27 августа 2011

Я думаю, вам нужно использовать jQuery.data() при наведении мыши на

if(!jQuery.data(dom, 'sent')){
  //take action
  jQuery.data(dom, 'sent', true);// do it on success
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...