2012-04-13 5 views
0

PhoneGap은 twitter에서 json을 인쇄합니다. 그러나 내 ajax.open에 다른 URL을 사용하면 빈 화면이 나타납니다. 지저분한 코드 레이아웃에 대한 사과 나는 웹 서버를 만들어 내 로컬 호스트에서 이러한 요청을 코딩하고 아래 코드를 사용해, 마이너스 스크립트 태그에 phonegap.js 시작하고부터 HTML을 호출하기위한 괜찮 았는데 Eclipse를 사용XMLHttpRequest가 Twitter json에서만 작동하는 이유는 무엇입니까?

<pre> 
</head> 
<body> 
<script type="text/javascript" src="phonegap.js"></script> 
<script type="text/javascript"> 
     function appReady(){ 

     } 
     document.addEventListener("deviceready", appReady, false); 
     var ajax = new XMLHttpRequest(); 
     ajax.open("GET","http://search.twitter.com/search.json?q=bacon",true); 

     ajax.send(); 

     ajax.onreadystatechange=function(){ 
     if(ajax.readyState==4 && (ajax.status==200)) 
     { 
      document.getElementById('main').innerHTML = ajax.responseText; 
     } 
     } 
     </script> 
     Hello 
<div id="main"> 
</pre> 

/test2.html ". phonegap을 사용하지 않는 로컬 컴퓨터에서"phonegap.js "를 제거했습니다. XMLHttpRequest의 W3school 설명서에서 얻은이 코드가 포함 된"Test.js "로 바꾸 었습니다.

에뮬레이터에서 /Test2.html을 호출하려고 할 때 빈 화면이 표시됩니다. 또한 내 자신의 서버에서 트위터 json을 호출 할 수 없으므로 도메인 간 보호로 인한 것으로 예상됩니다. 다시 전화 걸기 작업을하지 않아서

아무에게도 내 에뮬레이터에서이 코드를 사용하여 Test2 및 다른 URL을 볼 수없는 이유를 알 수 있습니까? 도 사용할 수있는 온라인 jsons 다른 사람을 알고, 나는 구글과 야후 것들을 시도했지만 그들은 또한 중 하나를 작동하지 않는 것.

function handler() { 
if(this.readyState == this.DONE) { 
if(this.status == 200 && this.responseXML != null && this.responseXML.getElementById('test').textContent) 
{ 
    // success! 
    processData(this.responseXML.getElementById('test').textContent); 
    return; 
} 
// something went wrong 
processData(null); 
} 
} 
+0

공백이되는 "다른 URL"은 무엇입니까? 사용하는 모든 URL에 대해 해당 URL을 브라우저에 넣고 URL이 반환 할 내용을 볼 수 있어야합니다. 공백이 반환되면 공백이 AJAX 호출로 반환됩니다. –

+0

http://www.google.com/calendar/feeds/[email protected]/public/full?alt=json이 내가 연결하려고 시도했던 다른 json이었습니다. 브라우저에 넣으면 json을 볼 수 있지만 에뮬레이터의 화면에는 출력되지 않습니다. – user1016950

답변

2

다른 JSON 스트림에 액세스하려면 "API 키"가 필요할 수 있습니다. 트위터에는 그런 열쇠가 필요 없습니다.

+0

특정 json에 키가 필요한지 어떻게 알 수 있습니까 (예 : http://www.google.com/calendar/feeds/[email protected]/public/full?alt=json – user1016950

+1

). 바로 액세스 문제 였고 몇 가지 다른 웹 페이지에서 일부 테스트를 거쳤습니다. 도와 주셔서 감사합니다! – user1016950

+1

그렇기 때문에 트위터가 JASON "Hello World"예제 및 tutorils를 만드는 프로그래밍 플랫폼을위한 "사실상"의 예제 API가되는 경향이 있습니다. API 키가 필요없고, 많은 새롭고 유용한 데이터가 필요합니다! – tomByrer

관련 문제