나는이 사건을 가지고와 값의지고 (JSON 문자열 내 서버에서 반환) : 요청의이 종류를 사용하는 경우에는는 JSON 문자열 자바 스크립트와 평가, 자바 스크립트
{"success": true, "users": [1, 3, 4, 8]}
, 내가 것을 얻을 것 는 "문자열"로 응답 :와
var availableUsers = $.ajax({
url: absPath + '/users/findUsers',
type: 'POST',
data: {contents: $('#messageTo').val()},
dataType: 'json',
async: false
}).responseText;
: alert(typeof(availableUsers));
내가 불렀 : string
반환 값을 typeof
에서.
window.eval(availableUsers);
그것은 평가되지 않습니다 예상대로, 자바 스크립트 객체로.
유효한 JSON 응답 (async : false 사용)을 JavaScript 액세스 가능한 객체로 변환하려면 어떻게해야합니까? 아니면 서버에서 반환 된 문자열을 효과적으로 평가할 수 있습니까?
감사합니다. 응용 프로그램/JSON 에 대한 요청의 내용 유형을 설정
/users/findUsers에 대한 요청에서 반환 된 콘텐츠 유형 헤더를 확인하십시오 –
가능한 복제본 [javascript에서 json을 구문 분석하는 방법] (http://stackoverflow.com/questions/4935632/how-to-parse-json- in-javascript) –
여기에'success' 콜백을 사용하지 않는 이유가 있습니까? 'async : true'라고하더라도, 이것은 더 읽기 쉽고, b) 예상 한대로 할 가능성이 더 높습니다. 나는 jQuery의 자동 JSON 파싱이'.responseText'로 시작될 것이라고 생각하지 않는다. – nrabinowitz