2013-09-21 2 views
0

제대로 실행 된 것으로 보이는 ajax를 호출했지만 호출 성공 섹션에 중단 점을 설정할 수 없습니다. 기본 데이터베이스가 변경되어 'tppunk'에서 변경된 항목 수의 값을 반환하려고합니다. Firebug로 디버깅 할 때, 디버거는 성공하더라도 '성공'에서 멈추지 않습니다. 대신 호출 후 코드로 건너 뛰고 'tppunk'는 정의되지 않은 것으로 식별됩니다. 코드가AJAX 호출을 사용하여 변수를 설정할 수 없습니다.

$.ajax ... 

안타 서버에 요청을 전송하므로,

var json = {'tagset': tagset} 
var tppunk; 
$.ajax({ 
    url: clr_url_base+'savetags.php?data='+encodeURIComponent($.toJSON(json)), 
    type: 'GET', 
    success: function (d) { 
     tppunk = d; 
     $('h2').removeClass("changed"); 
     $('h2').addClass("saved"); 
    }, 
    complete: function() { 
     $('h2').removeClass("changed"); 
     $('h2').addClass("saved"); 
    } 
}); 

if(corp == "CPA") 
    window.opener.$('span.tppunk').text(tppunk); 
+0

이렇게 많은 질문이 있습니다. 당신이하고있는 일이 비동기이며 어떤 디버그 문을 놓고 무슨 일이 일어나는지 알 수 있습니다. – PSL

+0

이러한 제안은 의미가 있으며 나는 그들을 추구 할 것입니다. 이 비동기 문제는 직관적이지 않으며 콜백 방법론을 이해하지 못했습니다. 모두에게 감사드립니다. – KenLit

답변

0

AJAX 호출이 비동기 : 여기에 내 코드입니다.

그것은 다음 명랑하게 그것의 방법에 계속 시간에 어떤 나중에에서

if(corp=="CPA") ... 

안타, 서버가 응답하고 당신의 성공 함수가 호출됩니다. 이것은 아마도 if(corp 블록 이후에 발생합니다.

당신이하고 싶은 것은 if(corp 블록을 어떻게 든 성공 호출 안에 넣는 것입니다.

관련 문제