2010-02-11 3 views
0

을 사용하여 JSON을 구문 분석하지 않아서 누군가이 구문의 오류를 신속하게 발견 할 수 있는지 궁금하십니까? 그것은 'data.foo'비트를 좋아하지 않는 몇 가지 이유를 들어간단한 JSON 구문 분석에 문제가있는 .getJSON

{ 
"foo": "The quick brown fox jumps over the lazy dog.", 
"bar": "ABCDEFG", 
"baz": [ 
    52, 
    97 
    ] 
} 

다음과 같이

function getFavs() { 
    $.getJSON('http://www.example.com/scripts/test.json', function(data) { 
     $('#main-content').html(data.foo); 
    }); 
} 

JSON 파일입니다. 정적 데이터를 사용할 수는 있지만 JSON 데이터를 읽거나 파싱하는 것은 아닙니다. 사용하고있는 URL과 관련이 있는지 확실하지 않은 경우 (이 파일은 JSONLint를 사용하여 검증되었습니다)

감사합니다.

+3

URL이 호출 스크립트와 동일한 도메인입니까? – bdl

답변

0

문제가 없지만 실제로 함수가 호출되는지 확인하십시오. Firebug를 가지고 있다면 단계별로 실행하여 코드를 디버그하십시오. 몇 가지 alert("this code was run");을 다른 위치 (ajax 이전, ajax 이후 및 콜백 함수 후)에 추가하지 않으면.

+0

좋은 콜, 그것은 확실히 data.foo (나는 '아약스'/ '아약스'경고 후 ''아약스 후 하나를 반환하지 노력하고있어 . 그래도 GET 요청은 200OK를 반환하지만, 음, – gleddy

+1

기억 ajax가 비동기 적이기 때문에'$ .getJSON();'바로 뒤에있는 경고가 호출되지 않으면 ajax 코드에 구문 오류가 발생합니다. 경고는 첫 번째 직후와 하나는 콜백 함수 – Marius

1

이 문제가 해결되었습니다. 로컬로 실행 중이며 라이브 서버를 호출하면 크로스 도메인이됩니다. 이제 MAMP를 실행하면 위와 같이 작동합니다.

감사합니다.

+1

맞아요. 따라서 원래의 질문입니다. (이와 같은) 모든 Ajax 요청은 동일한 도메인에 있어야합니다. – bdl

관련 문제