2012-04-18 3 views
0

내 작업의 예 GitHub의에서 파일을로드하려고하는 페이지에서 출력되지 않습니다 :JSONP는 (불을 지르고 순 창에서) 응답을 반환하지만 여기

<html> 
<head><title>Get Gists</title> 
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script> 
</head> 
<body> 
<script type="text/javascript"> 
$(document).ready(function() { 
    var url = "https://gist.github.com/2406934.js?file=check-jquery-load"; 
    $.getJSON(url + "?callback=?", null, function(gist) { 
     alert(gist); 
     $("#gist-info").append(gist); 
    }); 
}); 
</script> 
<div id='gist-info'></div> 
</body> 
</html> 
+0

은 https ://gist.github.com/2406934.js?file=check-jquery-load, 나에게 JSON처럼 보이지 않는 것 – Johan

답변

1

여기에 2 가지 문제가 있습니다. 교차 도메인 및 반환되는 단편은 정확히 JSON이 아닙니다. 그것은 HTML과 Javascript 사이에 있습니다.

document.write()을 수행 중이므로 반환 된 객체를 구문 분석하는 데 확실히 도우미 메서드가 필요합니다.

꽤 많이 겪고있는 동일한 문제 해결 다음 링크를 참조하십시오 : Loading GitHub Gist

이것은 무엇 당신의 함께 넣어 때 요점이 행동과 같습니다 Link

+0

솔루션 데니스에게 감사드립니다. 이 코드를 작성하기 전에 필자는 fancybox를 사용하여 내재 된 코드를 fancybox iframe에로드 된 페이지에 쿼리 문자열에있는 요점과 파일 이름을 전달하여 iframe에로드하는 코드를 다시 작성했습니다. 이것도 다시 좋은 옵션처럼 보이지만 다시 작업하기로 결정했다면. –

1

하는 URL이 유효 JSON을 반환하지 않습니다 그건. jQuery Documentation에서

:

중요

: jQuery를 1.4, JSON 파일에 구문 오류가 포함 된 경우 현재로는 요청은 일반적으로 자동 실패합니다. 이러한 이유로 JSON 데이터를 자주 손으로 편집하지 마십시오. JSON은 JavaScript의 객체 리터럴 표기법보다 엄격한 구문 규칙을 사용하는 데이터 교환 형식입니다. 예를 들어, JSON에 표시된 모든 문자열은 특성이든 값이든간에 큰 따옴표로 묶어야합니다. JSON 형식에 대한 자세한 내용은 http://json.org/을 참조하십시오.

+0

oh ... 나는 이런 식으로 non-json 데이터에 접근하는 것이 가능할 것이라고 생각했다. 나는 그 대신 프록시의 루트를 내려야 할 필요가 있다고 생각한다. –

+0

다음은 당신이 찾고있는 것과 비슷한 질문/답변입니다 : http://stackoverflow.com/questions/1292486/why-cant-i-load-an-external-resource-from-jquery-load-method –

+1

여기에 는 도메인 간로드를 수행 할 수있게 해주는 일부 jQuery 플러그인에 대한 또 다른 대답입니다. http://stackoverflow.com/questions/5320511/how-do-you-get-content-from-another-domain-with-load –

관련 문제