2013-08-05 4 views
0

다음은 jquery에 하드 코드 된 코드입니다. 아약스를 사용하여 데이터베이스에서 값을 가져 오기 위해 코드를 이동하려고합니다.Ajax - ajax/json을 통해 jquery 연관 배열에 PHP 연관 배열

데이터를 다시 가져와 json_encode를 통해 전달하지만 동일한 형식을 유지해야합니다.

codes['851'] = new Array('11','12','20','21','23','24','30','41','43','44','45','48','50','52','53','54','55','60','70','110','120','205','206','207','208'); 

codes['852'] = new Array('11','12','20','21','23','24','30','41','43','44','45','48','50','52','53','54','55','60','70','110','120','205','206','207','208'); 

codes['522'] = new Array('11','12','20','21','23','24','30','41','43','44','45','48','50','52','53','54','55','60','70','120','205','206','207','208','209'); 

다음은 json_encode 이전의 PHP 배열입니다.

$codes = array(); 
codes['851'] = array('11','12','20','21','23','24','30','41','43','44','45','48','50','52','53','54','55','60','70','110','120','205','206','207','208'); 

codes['852'] = array('11','12','20','21','23','24','30','41','43','44','45','48','50','52','53','54','55','60','70','110','120','205','206','207','208'); 

codes['522'] = array('11','12','20','21','23','24','30','41','43','44','45','48','50','52','53','54','55','60','70','120','205','206','207','208','209'); 

스크립트의 다른 모든 코드를 다시 쓰고 싶지 않은 동일한 형식을 유지하려고합니다. 형식을 일치시킬 수 있습니까?

+0

현재 결과와 코드는 무엇입니까? –

+0

'{ "851": [ "11", "12", "20", "21", "23", "24", "30", "41", "43", "44", "45 「50」, 「52」, 「53」, 「54」, 「55」, 「60」, 「70」, 「110」, 「120」, 「205」, 「206」, "207", "208"] "852": [ "11", "12", "20", "21", "23", "24", "30" 44, 45, 48, 50, 52, 53, 54, 55, 60, 70, 110, 120, 205, , "206", "207", "208"] "522": [ "11", "12", "20" "21"23 "24"30 "41" 43, 44, 45, 48, 50, 52, 53, 54, 55, 60, 70, 110, 120 ","205 ","206 ","207 ","208 "]}' – devfunkd

+0

왜 그게 효과가 없습니까? 당신의 json은 값의 배열을 가진 각각 3 개의 객체 (851, 852, 522)를 가지고 있습니다 ... 성공한 콜백에서 데이터가있는 851 배열의 첫 번째 요소에 액세스 할 수 있습니다 .8535 [0] –

답변

0

아시다시피 아약스 응답에서 이와 같은 형식이 필요합니다.

codes['851'] = new Array('11','12','20','21','23','24','30','41','43','44','45','48','50','52','53','54','55','60','70','110','120','205','206','207','208'); 
codes['852'] = new Array('11','12','20','21','23','24','30','41','43','44','45','48','50','52','53','54','55','60','70','110','120','205','206','207','208'); 
codes['522'] = new Array('11','12','20','21','23','24','30','41','43','44','45','48','50','52','53','54','55','60','70','120','205','206','207','208','209'); 

는 PHP를 위해 당신은 다음 필요 :이 시각 유사하지만 JS 개체 구조에서 동일하지

$codes = array(); 
$codes['851'] = array('11','12','20','21','23','24','30','41','43','44','45','48','50','52','53','54','55','60','70','110','120','205','206','207','208'); 
$codes['852'] = array('11','12','20','21','23','24','30','41','43','44','45','48','50','52','53','54','55','60','70','110','120','205','206','207','208'); 
$codes['522'] = array('11','12','20','21','23','24','30','41','43','44','45','48','50','52','53','54','55','60','70','120','205','206','207','208','209'); 
echo 'codes='.json_encode($codes).';'; 

.

+0

이상한. 내 아약스 코드 여야 만하니? 내가 PHP 배열로하고있는 모든 것은 json_encode이다. – devfunkd

+0

대신 echo 'codes ='. json_encode ($ codes). ';'; jquery 배열을 만들고 아약스 응답을 배치 할 수 없습니까? 위의 변수에 아무것도 출력되지 않습니다,하지만 응답은. – devfunkd

0

문제는 아약스 코드에서 발생했기 때문에 호출되지 않은 아약스 호출 외부의 코드가있었습니다. 내가 Ajax 콜백 함수를 성공 콜백 함수로 옮긴 후에는 모두 완벽하게 작동했다.