2012-11-27 2 views
0

내가/PHP/JS 오늘 JSON과 함께 연주하고 내가하는 데 문제가 ..정의되지 않은 JSON 데이터에서 생성 된 배열에 액세스하려고 할 때

내 PHP 다음 내 SQL 테이블에서 데이터 행을 얻을 수있는 잘 작동 JSON으로 인코딩합니다. My JS/Jquery 파일은 $ .getJSON을 사용하여 PHP 파일의 데이터를 잘로드합니다.

그러나 나는 이렇게 페이지의 뒷부분에있는 데이터를 사용하려고 시도합니다. gender = user [ 'player']. 성별로 볼 때 은 user.player가 정의되지 않았습니다. 코드의

function getUserInfo() { 
    var url = "./php/getUserInfo.php"; 
    $.getJSON(url, function(data) { 
     $.each(data.members, function(i, dat) { 

      user['player'] = { 
       gender: dat.gender, 
       fname: dat.first_name, 
       lname: dat.last_name, 
       username: dat.username, 
      }; 
     }); 
    }); 
} 

user = {}; 
getUserInfo(); 

//Displays an object, which has the correct information I want. 
console.log(user); 
var gender = user['player'].gender; 
console.log(gender);​ 

마지막 줄이 나에게 user.playe 정의되지 않는 오류가 있습니다 :

이 관련 내 코드입니다. 하지만 남성 도움이 도움이 될 것입니다 표시되어야합니다, 나는이 문제를 해결하기 위해 여러 가지를 시도했지만 캔트 그렇게 할 것 같다.

답변

4

$.getJSON 비동기입니다.

는 즉시 요청이 전송 될 때, 다음 라인으로 이동하고 요청이 완료 될 때까지 기다리지 않습니다. 당신이 변수에 액세스하려고 할 때

그래서, 그것은

$.each 후 코드의 조각을 넣어 시도하고 작동합니다 .. 아직 사용할 수 없습니다.

+0

어떻게 다음이 고정에 대한 갈 것입니다. – nmyster

+0

잘 반환 된 데이터는 하나의 행 가치가 .each 루프 도움을 제거하는 것이고, 난 그냥 첫 번째 요소에 데이터를 추가 할 수 있습니다. – nmyster

+0

그것은 .. 콜백 함수 내부에 .. –

관련 문제