2015-01-06 5 views
-2

$ .post jquery 메서드 내에서 변수에 액세스하려고합니다. 내가 지금까지 가지고있는 코드는 다음과 같습니다 : 나는 아무 소용이 함수 외부에서 선언하려 있도록 데이터베이스에서 변수를 얻기 위해 노력하고jquery 함수 내에서 변수에 액세스하려고 시도했습니다.

var fromDatabase; 
$.post("../read.php", function(data) { 

    fromDatabase = JSON.parse(data); 

    console.log(fromDatabase); //this works fine 
    return fromDatabase; 
}); 

console.log(fromDatabase); // but this gives me 0. 

. 감사합니다.

답변

0

비동기식 $.post 호출 직후가 아니라 콜백 내에서 프로그램 실행을 계속해야합니다.

+0

그리고 dupehammer를 사용하지 않았습니까? – Scimonster

+0

IMHO 때문에 정식 "어떻게 AJAX 호출에서 값을 반환하는"대답의 속은 아니었다. 나는이 커뮤니티 위키를 만들었습니다. – Alnitak

0

비동기 함수에서 return을 입력 할 수 없습니다. 비동기 특성입니다. 대신 값을 사용할 수있게되면 (콜백 함수가 호출 됨) 해당 함수 범위 내의 데이터로 작업해야합니다.

아마도 좋은 출발점은 Ajax tutorial 일 것입니다. 더 많은 것을 원한다면, 단순히 JavaScript async에 대한 google.

관련 문제