2013-09-24 2 views
-3

자바 스크립트에 문제가 있습니다. 이것은 자바 스크립트를 처음 사용하는 것입니다.

코드 :

$.get(url, function(data){ 

    alert("Data Loaded: " + data); 

    var obj = JSON.parse(data); 

    alert(obj.result); 
} 

서버는 {"result":"aaaa"} 가 어떻게 응답에서이 JSON 문자열을 추출 할 수있는 간단한 JSON 문자열을 반환? 이 코드를 실행하면 경고는 정의되지 않은 것으로 표시됩니다.

+0

그냥 'obj.result'를 호출하십시오. –

+0

바로'{'불일치가 있습니다. 또한 그런데 문제는 무엇입니까? 설명해 주시겠습니까? – PSL

+0

'{'를 사용하여 각 행을 시작할 필요는 없습니다. 이것은 구문 오류가 발생하여 코드가 * 아무 것도 수행하지 못하게합니다. 문제를 해결할 때까지 다른 문제를 처리하는 데별로 사용하지 않습니다. jQuery 및/또는 AJAX를 사용하기 전에 기본 구문에 대한 이해를 돕기 위해 JavaScript에 대한 자습서를 찾아 보시기 바랍니다. – meagar

답변

0

이 질문은 재현 할 수없는 것처럼 보입니다.

JSON.parse('{"result":"aaaa"}').result 

은 "aaaa"이다.

는 다음과 같이 좀 더 디버깅을 수행

$.get(url, function(data){ 

    alert("Data Loaded: " + data); 

    var obj = JSON.parse(data); 

    for (key in obj) { 
     alert(key + ": " + obj[key]); 
    } 
} 

이 반환 된 JSON에있는 모든 키를 반복합니다. 다행히도 "결과"라는 키가있을 것입니다.

0

실제로 구문 분석 할 필요가 없을 수도 있습니다. 지정되는 dataType없이

$.get(url, function(data){ 

    alert(typeof data); // object 

    alert(data.result); // aaaaa 

}); 

, jQuery.get()는 "지능형 추측"를 만들기 위해 기본 그에 따라 해석됩니다.

직접 구문 분석하려면 'text'dataType으로 지정할 수 있습니다.

$.get(url, function(data){ 

    var obj = JSON.parse(data); 

    alert(obj.result); // aaaaa 

}, 'text'); 
관련 문제