2012-08-17 5 views
0

안녕하세요 저는 phonegap에서 새로 왔습니다. 내가 로그인 유효성 검사와 함께 하나의 HTML 파일을 만듭니다. 내 유효성 검사 코드는 PHP 파일에 있습니다. android 에뮬레이터에서 실행됩니다. 그 시간에이 PHP 파일이 에뮬레이터에서 작동하지 않으므로 어떻게해야합니까?phonegap의 localhost에 php 파일을로드하는 방법

<html> 
    <head> 
     <meta charset="utf-8" /> 
     <meta name="viewport" content="width=device-width, initial-scale=1" /> 
     <title> 
     </title> 

     <link rel="stylesheet" href="jquery.mobile-1.1.1.min.css" /> 

     <link rel="stylesheet" href="my.css" /> 
     <style> 
      /* App custom styles */ 
     </style> 
     <script src="jquery.min.js"> </script> 
     <script src="jquery.mobile-1.1.1.min.js"> </script> 
     <script src="my.js"> 
     </script> 
    </head> 
    <body> 
     <!-- Home --> 
     <div data-role="page" id="page1"> 
      <div data-role="content" style="padding: 15px"> 
       <div data-role="fieldcontain"> 
       <div id="message" style="display: none;"></div> 
        <fieldset data-role="controlgroup"> 
         <label for="textinput1"> 
          Email: 
         </label> 
         <input name="" id="textinput1" placeholder="" value="" type="text" /> 
        </fieldset> 
       </div> 

<script type="text/javascript"> 
$(document).ready(function(){ 
    $('#btnValidate').click(function() { 

     $('#message').hide(500); 

     $.ajax({ 
      type : 'POST', 
      url : 'http://localhost/JQuery/php', 
      dataType : 'json', 
      data: { 
       email : $('#textinput1').val() 
      }, 
      success : function(data){ 
       $('#message').removeClass().addClass((data.error === true) ? 'error' : 'success') 
        .text(data.msg).show(500); 
      }, 
      error : function(XMLHttpRequest, textStatus, errorThrown) { 

       $('#message').removeClass().addClass('error') 
        .text('There was an error.').show(500); 
      } 
     }); 

     return false; 
    }); 
}); 
</script> 

<a data-role="button" data-inline="true" id="btnValidate" data-transition="fade" href="#page1">Submit</a> 
      </div> 
     </div> 
     <script> 
      //App custom javascript 
     </script> 
    </body> 
</html> 

이것은 내 HTML 코드입니다. 나는 틀렸다. 그래서 키가 크다.

+0

에서 허용은 PHP 코드는 전화 또는 서버에서 실행하는 건가요? –

답변

1

시스템의 IP 주소 (예 : 192.168.1.2)를 사용하거나 가상 호스트를 설정하여 PHP 파일에 액세스해야합니다. Android 에뮬레이터는 별도의 가상 머신으로로드되므로 PHP 파일의 localhost에 액세스 할 수 없습니다.

+0

안드로이드 에뮬레이터 IP 주소를 설정하는 방법? – XEME

2

Android 에뮬레이터에서 PhoneGap 응용 프로그램을 실행하면 localhost 및 127.0.0.1은 the Android emulator loopback interface을 참조하십시오. 당신은 IP 주소 10.0.2.2

시스템에
$.ajax({ 
    type : 'POST', 
    url : 'http://10.0.2.2/JQuery/php', 
    dataType : 'json', 
    data: { 
     email : $('#textinput1').val() 
    }... 
+0

안녕 친구가 작동하지 않습니다 : - URL : 'http://10.0.2.2/JQuery/php' – XEME

+0

10.0.2.2와 127.0.0.1을 사용할 수 있지만 작동하지 않습니다 ... – XEME

+0

내가 HTML을 실행했을 때 (오류가 발생했습니다.). show (500) 오류가 발생했습니다. 오류가 발생했습니다.); } MY HTML 파일에 – XEME

0

Assing IP를 사용하여 개발 시스템에 액세스하고 IP addrerss HTTP 그건 사용할 수 있습니다 : // 183.82.166.97:9696/index.php

내가 좋아하는 구성

가 들어 httpd.conf 파일이 9696 을 DocumentRoot "D :/PHPworkspace/HWsite"모든 모든 에서 허용 DirectoryIndex에 index.php를 에 AllowOverride 에 AllowOverride 모든 모든

관련 문제