2014-07-25 1 views
1

나는로 json_encode 내가 data.oldid 같은 JS의 키에 액세스하려고 할 때 바로php array를 javascript의 varname.arrkey 형식으로 변환하는 방법은 무엇입니까?

$.get("/admin/getdata.php", { 
    "otherdata": $("#mydata").val() 
}).done(function (data) { 
    console.log(data);  // prints {"oldid":"18258","newid":"98765"} 
    console.log(data.oldid); // prints undefined 
    console.log(data.newid); // prints undefined 
}); 

아니다 .. PHP 파일에 AJAX 호출이 다음 코드 JS에서 다음

$arr = array('oldid' => 18258, 'newid' => 98765); 
echo json_encode($arr); 

을 가지고 있는지 확인? ?

+2

응답에'Content-Type : application/json'을 설정하십시오. – Phantom

답변

2

PHP가 맞지만 JS에 기대하고 있다고 JS에게 알릴 필요가 있습니다. 이것은이

$.getJSON("/admin/getdata.php", { 
    "otherdata": $("#mydata").val() 
}).done(function (data) { 
    console.log(data.oldid); 
}); 

같이 수행 할 수 있습니다 또는이

$.get("/admin/getdata.php", { 
    "otherdata": $("#mydata").val() 
}).done(function (data) { 
    data = JSON.parse(data); 
    console.log(data.oldid); 
}); 
+2

Ah! 승인. 예, 작동합니다! 고마워 톤 메이트! – TigerTiger

+1

나는 그것을 지금했다. – TigerTiger

0

처럼 당신은 PHP로 인코딩 된 JSON있는 데이터를 처리 할 수 ​​JQuery와에 JSON.parse를 사용해야합니다.

$.get("/admin/getdata.php", { 
    "otherdata": $("#mydata").val() 
}).done(function (data) { 
    data = JSON.parse(data); 
    console.log(data); 
    console.log(data.oldid); 
    console.log(data.newid); 
}); 
관련 문제