2010-07-18 11 views
1

$ .get 요청을 사용하여 데이터를 얻은 다음이를 쿠키에 저장하고 있습니다. get 요청은 사용자가 버튼을 클릭 할 때 실행됩니다. 그런 다음 다른 페이지에 대한 링크를 따라 가며 쿠키에 저장된 데이터가 추출되어 새 페이지에 표시됩니다.Jquery - Ajax - 콜백 함수?

불행히도 일부 사용자는 클릭에 대해 적극적이며 요청을 실행하지만 다음 페이지로 이동하기 전에 완료해야합니다. 분명히 오류가 발생합니다. 따라서 get 요청이 완료 될 때까지 다음 페이지에 대한 링크를 비활성화하는 코드를 작성하려고하지만 어떻게해야할지 모르겠다.

이것은 내가 지금 가지고있는 전부입니다.

$.get(url, function(d) { 
        cp = $('textarea#txt_quote', d).html(); 
        z_cookie.set(topic_id, current_posts, '1'); 
       }); 

답변

0

당신은 다음과 같이 그 click 이벤트를 처리하여 링크를 해제 할 수 있습니다 :이 설정되어있어 경우, 당신은 click 핸들러에서 변수를 설정할 수 있습니다하려면

var link = $('selector to find <a> tag'); 
link.click(function() { return false; }); 


$.get(url, function(d) { 
    cp = $('textarea#txt_quote', d).html(); 
    z_cookie.set(topic_id, current_posts, '1'); 

    link.unbind('click'); 
}); 

을하고, 다음과 같이 AJAX 요청이 완료된 후 페이지로 이동하십시오.

location.href = link.attr('href'); 
+0

나는 이런 식으로 시도했지만 제대로 작동하지는 못했지만 아이디어는 완벽하게 작동합니다. 고마워. – Pete