2011-04-28 5 views
1

Ajax를 통해 일부 PHP 코드를 호출하는 함수 내에서 변수를 설정하려고합니다. 문제는 변수가 함수 외부에서 액세스 할 수 없다는 것입니다.Ajax 호출 내 변수 세트에 액세스하는 방법

var startPageSelected = ''; 

function getSavedStartPage() { 
    $.post(webroot + 'home/get_saved_startpage/', 
    function(data){ 
     startPageSelected = $.parseJSON(data); 
     alert(startPageSelected); //alert 1 
    }); 
} 

function something() { 
    alert(startPageSelected); //alert 2 
} 

는 그래서는 "경고 1"나에게 정확한 값을 제공하지만,이 이외의 내 예제에서 "경고 2"같은 변수가 비어 getSavedStartPage를 호출 할 때. 그것은 범위 및/또는 비동기 아약스 물건과 관련이있는 것 같지만 나중에 대신 외부에서 액세스 할 수 있도록 내 아약스 데이터를 저장하는 방법을 알아낼 수 없습니다. 누군가가 저를 도울 수 있습니까?

+1

범위로 인해 * AJAX 호출이 완료되기 전에 변수가 설정되기 전에()를 호출했을 것입니다. – andrewtweber

답변

0

retired 데이터를 매개 변수로 함수에 전달할 수 있습니다.

function getSavedStartPage() { 
    $.post(webroot + 'home/get_saved_startpage/', 
    function(data){ 
     startPageSelected = $.parseJSON(data); 
     alert(startPageSelected); //alert 1 
     something(startPageSelected); 
    }); 
} 

function something(data) { 
    alert(data); //alert 2 
} 
관련 문제