2012-02-09 6 views
0

ajax 요청에서 응답을 받고 requestData라는 변수에 request.responseText를 저장합니다. requestData 데이터에는 json_encode()를 사용하여 PHP로 통과 한 json 객체가 들어 있습니다.반환 된 json 객체의 속성에 액세스 할 수 없습니다.

로그를 몇 장 볼 수 있습니다.

requestData : {"status":"ok","to":"","html":"<option value=\"Huberdeau\">Huberdeau<\/option><option value=\"Bo\u00eeleau\">Bo\u00eeleau<\/option><option value=\"Br\u00e9beuf\">Br\u00e9beuf<\/option><option value=\"Saint-R\u00e9mi-d'Amherst\">Saint-R\u00e9mi-d'Amherst<\/option><option value=\"Harrington\">Harrington<\/option>","message":"old"} 

내 문제는 내가 변수 상태에 액세스 할 수 없다는 것입니다. 다음 호출 중 어느 것도 적절하게 값을 가져 오지 않습니다.

requestData[status] : undefined 
requestData.status : undefined 
requestData['status'] : undefined 
requestData[0]['status'] : undefined 

그리고 내 변수를 for 로그로 덤프하려 할 때 문자열처럼 취급합니다.

dump_var : 
0:{ 
1:" 
2:s 
3:t 
4:a 
5:t 
6:u 
7:s 
8:" 
9:: 
+1

JSON 응답을 제대로 할당한다고 생각하지 않습니다. AJAX 요청을 표시하십시오. –

답변

0

다른 질문에 대한 트릭을 발견했습니다. 나는 그것을 여기에 게시한다. 어쨌든 original discussion에서 알아 차리기가 어렵 기 때문이다.

$.getJSON(url, function(data){ 
    alert(data.someField); 
}); 

jQuery를

대신 $ 갔지

사용 $ .getJSON

에서

var requestData = request['responseText']; 
var jsonData = eval("(" + requestData + ")"); 
1

당신은 평가 수행 할 필요가 없습니다!

관련 문제