2014-01-23 2 views
0

다른 예제를 살펴 보았습니다. 모든 것을 올바르게하고있는 것처럼 보입니다. 그러나 분명히 나는 ​​뭔가를 놓치고 있습니다. 내 데스크톱에서 실행할 때 훌륭하게 작동합니다. 일단 폰갭 빌드를 통해 응용 프로그램에 번들로는 더 이상 작동하지 않습니다 :(궁금 사람이 이유를 발견 할 수 있습니다. 모든는 정말 XML 응답에서 고유 항목을 따기와 그들을 나열되어 일을. 감사합니다 마이크get 요청은 브라우저에서 작동하며 PhoneGap에서는 작동하지 않습니다.

<!DOCTYPE HTML> 
<html> 
<head> 
    <title>TestApp</title> 
    <script type = "text/javascript" charset = "utf-8" src = "cordova-2.3.0.js"></script> 

    <!-- Jquery stuff --> 
    <meta name = "viewport" content = "width = device-width, initial-scale = 1"> 
    <link rel="stylesheet" href="jquery/jquery.mobile-1.4.0.min.css" /> 
    <script src="jquery/jquery-1.10.1.min.js"></script> 
    <script src="jquery/jquery.mobile-1.4.0.min.js"></script> 

    <script type = "text/javascript"> 
     function onBodyLoad(){ 
      //pre-loads data 
      loadXMLDoc('http://login.etherios.com/ws/DiaChannelDataFull'); 
     } 

     function loadXMLDoc(url) { 
      if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari 
       xmlhttp=new XMLHttpRequest(); 
      } 
      else {// code for IE6, IE5 
       xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
      } 
      xmlhttp.onreadystatechange=function() { 
       if (xmlhttp.readyState==4 && xmlhttp.status==200) { 
        var lastXBee=0; 
        var adChannel=0; 
        txt="<table border='0' width='%100'><tr><th>title</th></tr>"; 
        x=xmlhttp.responseXML.documentElement.getElementsByTagName("DiaChannelDataFull"); 
        for (i=0;i<x.length;i++) { 
         xx=x[i].getElementsByTagName("ddInstanceName"); { 
          if (lastXBee!=xx[0].firstChild.nodeValue) { // if not a reading from same , start new row 
           try { 
            txt=txt + "<tr>"; 
            txt=txt + "<td>" + xx[0].firstChild.nodeValue + "</td>"; 
           } 
           catch (er) { 
            txt=txt + "<tr>"; 
            txt=txt + "<td> </td>"; 
           } 
           var lastXBee=xx[0].firstChild.nodeValue; 
           var sameRow="No"; 
          } 
          else {} 
         } 
        } 
        txt=txt + "</table><br />"; 
        document.getElementById('currentStatus').innerHTML=txt; 
       } 
      } 
      xmlhttp.open("GET",url,true); 
      xmlhttp.send(); 
     } 

    </script> 
</head> 
<body onload = "onBodyLoad()"> 
       <h4>Current Status:</h4> 
       <!-- **** Call to getRequestList.js file *** --> 
       <button onclick="loadXMLDoc('http://login.etherios.com/ws/DiaChannelDataFull')">Refresh Sensor Data</button> 
       <div id="currentStatus"></div> 
       <br /> 
</body> 
</html> 
+0

위의 코드에서 ID 또는 암호 정보가 없다는 것을 추가해야한다고 생각합니다. 전화 갭에서 로그인하라는 메시지가 표시되기를 바랐습니다. 브라우저를 사용하는 경우와 마찬가지로 서버 쪽에서 액세스 할 수 있습니까? 문제가 발생하면 어떻게 저에게 메시지를 표시합니까? –

+0

서버에 액세스 할 수 있도록 config.xml에서 액세스 원점을 구성 했습니까? – QuickFix

+0

안녕하세요. 모든 것 및 행운 액세스 출처 = "*"/까지. 또한 xml phone gap 버전 참조를 3.1.0으로 변경했습니다. 나는 또한 오래된 안드로이드 장치에 앱을 설치했다. 또한 동일한 rood 디렉토리에 넣은 test.xml 파일에서 xml 데이터에 액세스를 시도했습니다. 이러한 변경으로 인해 모바일 버전이 작동하지 않았습니다 (사파리 브라우저에서 계속 작동 함). –

답변

0

I을 이걸 포기하고 다른 방향으로 나아 가기로 결정했습니다.

관련 문제