2014-04-21 2 views
0

wordpress blog에서 JSON 데이터를 검색하려고합니다. JSON API 플러그인을 사용하여 JSON 객체를 가져 왔습니다.Phonegap 프로젝트 용 javascript에서 json 데이터를 다시 작성

제 코드를 확인하십시오. 오류 상태 0을 표시합니다. 데이터를 검색 할 수 없습니다.

var xmlhttp; 

window.onload = function(){ 

     document.addEventListener("deviceready",init,false); 
    } 
    function init(){ 

      xmlhttp = new XMLHttpRequest(); 

      xmlhttp.open("GET","http://www.foduu.com/api/get_recent_posts/", false); 
      xmlhttp.send(); 
      xmlhttp.onreadystatechange = dataReturn; 
    } 
    function dataReturn(){ 

      if(xmlhttp.readyState==4 && xmlhttp.status == 200){ 
       var jsonResponse = xmlhttp.responseText; 
       jsonResponse = eval("("+jsonResponse+")") 
       alert("jsonResponse.count_total"); 
      } 
      else 
      { 
       alert("could not connect and Status:" + xmlhttp.status); 
      } 
    } 

제발 도와주세요.

미리 감사드립니다.

답변

0

데이터가 귀하의 페이지가 아닌 다른 도메인 (www.foduu.com)에서 유래 되었기 때문에이 호출은 도메인 간 호출로 간주됩니다. XMLHttpRequest는 보안을 위해 이러한 요청을 처리하지 않습니다. 이 제한을 해결하려면 두 가지 방법이 있으며 두 가지 방법 모두 서버를 옵트 인해야합니다. 첫 번째는 CORS을 사용하는 것입니다. 두 번째 (귀하의 경우 GET 요청을 발행 한 이후)는 JSONP을 사용합니다.

CORS 헤더 (Origin)와 함께 사이트 (피들러 사용)에 요청을 보내려고했지만 응답에 CORS 관련 응답이 없으므로이 서비스는 특히 해당 프로토콜을 지원하지 않습니다. 그러나 JSONP를 지원합니다 (Fiddler를 사용하여 http://www.foduu.com/api/get_recent_posts/?callback=cb으로 요청을 보내면 cb(...) 호출에 응답이 표시됨).

다음해야 할 일은 페이지에서 사용하는 것입니다. "순수한"자바 스크립트로 JSONP를 사용하고 <script> 요소를 작성하여 DOM에 추가 할 수 있지만 JSONP와 같은 라이브러리를 사용하면 JSONP를 쉽게 호출하여 더 쉽게 결과를 얻을 수 있습니다.

+0

나는 이것을 phonegap에서 사용할 수 있습니까? – user3201500

관련 문제