2014-07-08 4 views
-1

내가 가지고 PHP 배열 인코딩 다음 PHP 코드 :액세스 PHP 배열 (아약스, JSON)

코드를

$js_array = json_encode($tmp); 

출력

{ 
"frfgt55":["ABC","frfgt55","Aberdeen"], 
"vfrgt6":["ABC","vfrgt6","Birmingham"], 
"vbgtfdh67":["XYZ","vbgtfdh67","Leeds"], 
"vfe5gb":["XYZ","vfe5gb","Bristol"],... 
} 

무엇 나는 jQuery 스크립트 내에서 이것을 접근하는 것으로 고민하고있다. $.getJSON을 사용해야한다는 것을 알고 있지만, Ajax 지식이 제한되어있어 구현에 어려움을 겪고 있습니다. 인코딩 된 변수에 액세스하는 방법을 알 수 없습니다.

Ajax 코드

$.getJSON('../_client/index.php', function(data) { 
    /* data will hold the php array as a javascript object */ 
}); 

어떤 조언, 피드백과 의견을 환영합니다.

난 당신이 약속 인터페이스를 사용하고 있으므로 교체하는 것이 좋습니다 성공과 오류 코드를 처리하기 위해

$.getJSON('../_client/index.php', function(data) { 
    /* data will hold the php array as a javascript object */ 
    console.info(data.frfgt55); //accessing the first item of the array 
}); 

편집 : 나는 당신의 요구 사항을 이해하면

+0

@ ex3v - 질문은 분명합니다 - jQuery 스크립트 내에서 인코딩 된 PHP 배열에 어떻게 액세스합니까? 또한 Ajax 코드를 추가했지만 지식이 제한되어 있으므로 어떻게 작동하는지 이해하기가 쉽지 않습니다. –

+0

헤더를 출력했는지 확인하십시오 ('Content-Type : application/json'); 다른 출력이 나오기 전에 데이터에는 data.frfgt55 [0] 등이 포함되어야합니다. – ArtisticPhoenix

+0

그 때 당신의 질문은 무엇입니까? ^^ 어쨌든, 당신은 JS_를 통해 PHP 배열에 접근 할 수 없습니다 : 당신이하는 일은 HTTP 응답으로 응답 할 서버에 HTTP 요청을하는 것입니다. 브라우저는 그러한 응답이 어떻게 생성되었는지에 대한 지식이 없으며 그냥 JSON 문자열로 파싱하고 그것으로 비즈니스를 수행합니다. – moonwave99

답변

4

당신과 데이터에 액세스 할 수 있습니다 현재 $ .getJSON() 코드 :

$.getJSON('../_client/index.php') 
.success(function(response) { console.info(response); alert("success"); }) 
.fail(function(jqXHR, status, error){ console.info(error); alert("error"); }); 
+0

첫 번째 배열 전체를 원한다면'data.frfgt55 [0]'이어야합니다. –

+0

그것은 모든 것이 될 수 있습니다 [email protected]_J에게 데이터를 액세스하는 방법을 알지 못해서 자신의 길을 찾을 수 있도록하기 위해 응답을주었습니다. – ilpaijin

+0

내 코드에 추가하고'alert (data.frfgt55);를 추가했습니다. 전혀 출력이 없습니다. –

0

내가 올바른지 확인한 후 t는 당신을 도울 것입니다

$.getJSON('../_client/index.php', function(data) { 
    for(var key in data) { // In comment check first loop data for each record. 
     // key = 'frfgt55'; // For 1st loop 
     var yourArrayRecord = data[key]; // For 1st loop <- ["ABC","frfgt55","Aberdeen"] 
     var perticularValue1 = yourArrayRecord[0]; // For 1st loop <- "ABC" 
     var perticularValue2 = yourArrayRecord[1]; // For 1st loop <- "frfgt55" 
     var perticularValue3 = yourArrayRecord[2]; // For 1st loop <- "Aberdeen" 
    } 
});