2011-08-27 2 views
-1

이벤트에 마우스를 놓고 ajax 요청을 보내고 원하는 응답을 받았습니다. 그러나 요청을 보낸 요소를 다시 가리키면 요청이 다시 전송됩니다.한 번 mouseover에서 보내진 ajax 요청은 응답을 받지만 html 요소에서 다시 mouseover를하면 다시 보내면 안됩니다.

요청을 다시 보내지 않고 이전에받은 응답을 페이지에서 사용하고 싶습니다.

누가해야합니까 ?? 다음은 샘플 코드입니다. ->이 함수는 마우스 오버시 호출됩니다. 요소 위로 동일한 마우스로 요청을 다시 보내지 않으려합니다. 난 당신이 마우스 오버에 jQuery.data()를 사용할 필요가 생각 무엇

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; 
     } 
    }); 
}; 
+0

이벤트 처리 코드 만 게시하는 것이 좋습니다. –

답변

0

는 응답이 수신되기 전에 요청을 보내고 보내 변수를 확인하면

if(!jQuery.data(dom, 'sent')){ 
    //take action 
    jQuery.data(dom, 'sent', true);// do it on success 
} 
+0

경우 (jQuery.data (DOM, '전송')!) { $ 아약스 ({ 유형 : 캐시를 "GET": 거짓, URL : "blabla.php imgID ="+ 발, 데이터 : $ (this) .serializeArray(), 성공 : 함수 (데이터) { document.getElementById ("DIV"). innerHTML = 데이터; } }); }; } 내가 어떻게해야합니까 ?? 나는 그것을 얻을 수 없다 ... : ( – jassi

+0

아니, 그럴 수 없다 .. – jassi

+0

Internet Explorer에서 데이터를 허용하지 않기 때문에이 방법은 현재 XML 문서의 데이터 설정을위한 크로스 플랫폼 지원을 제공하지 않는다는 점에 유의하십시오. 확장 속성을 통해 첨부해야합니다 - 나는 전문가가 아니지만 좋은 소리가 나지 않습니다. 무엇을 말하는가 – jassi

1

이 값으로 변수를 설정 않습니다.

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

NICE and helpful. 이 솔루션은 나에게 또 다른 쿼리를 제공합니다 ... 이전에 보낸 요청에서받은 이미지를 어떻게 표시할까요 ?? 마우스를 올려 놓았습니까? 덕분에 도움을받을 수 있습니다. 엠. – jassi

+0

글쎄, 당신이하고 싶은 것이 확실하지 않습니다 ...하지만 그 응답은''요소라고 가정합니까? 이 경우, 당신은'else' 사례가 필요 없을 것입니다. 그렇지 않으면 달성하려는 목표를 정확히 말해 줄 수 있습니까? –

관련 문제