2013-10-29 3 views
1

지금 당장 나는 phonegap을 사용하여 다른 웹 서버의 PHP 스크립트를 호출하여 데이터베이스에서 데이터를 검색해야합니다. 하드 코드로 스크립트를 실행하면 데이터가 올바르게 검색되지만 ajax 호출이 아무 것도 반환하지 않거나 데이터를 게시로 가져 오지 않는 것처럼 보입니다. 그와 관계있는 경우 현재 콘솔에 내가 "Origin null is not allowed by Access-Control-Allow-Origin. "PhoneGap에서 AJAX 작동

$(document).ready(function() {  
     $('.check').click(function(){ 
     alert("Step1"); 
     var thisID = $(this).attr('id'); 
     alert(thisID); 

     $.ajax({ 
      type: "POST", 
      url: "http://csmaster.sxu.edu/group2/group2/CougarLunch/retrieveColumn.php", 
      data: { ID: thisID}, 
      cache: false, 
      async:true, 
      datatype: "json", 
      success: function(data) 
       { 
      console.log(data); 
      alert(data.ItemID); 
       } 

      }); 
      }); 
      }); 

PHP를 얻고 난 할 수 있도록 PHP 파일의 상단에이 줄을 추가

if(isset($_POST['ID'])) 
     { 
     $ID = $_POST['ID']; 
     function retrieve($ID) 
     { 
      $stmt = $mysqli->query("SELECT * FROM group2.menu WHERE ItemID = $ID"); 

      if($stmt->num_rows) //if there is an ID of this name 
      { 
       $row = $stmt->fetch_assoc(); 
       echo $row; 
       print json_encode($row); 

      } 
     } 
+0

휴대 전화의 실제 앱인 경우 크로스 도메인 정책에 의해 제한되어서는 안됩니다. – ahren

+0

1 이유가 무엇입니까? 2. 크롬에서 실행하면 이미 작동하지 않습니다. 그래서 그것에 대해 모호합니다. –

+0

다음 질문을 참조하십시오. http://stackoverflow.com/questions/11641442/phonegap-jquery-ajax-cross-domain-requests-work-in-browser-fail-in-android-sdk http://stackoverflow.com/ 질문/13920782/phonegap-javascript-sending-cross-domain-ajax-request http://stackoverflow.com/questions/15363005/mobile-apps-cross-domain-ajax – ahren

답변

1

그래도 그것을 의심 액세스 :

header("Access-Control-Allow-Origin: "*"); 
0

AndroidManifest.xml에 전달해야합니다.

<access origin="*" /> 

phonegap doc

관련 문제