2014-01-23 1 views
0

HTML5/Javascript/CSS3 구현에서 응용 프로그램을 만들고 있습니다. localhost에 외부 PHP 파일이 있는데 jQuery와 AJAX를 사용하여 통신하려고합니다. 내 브라우저에서 파일을로드하면 모든 것이 잘 작동하고 PHP 파일에서 원하는 응답을 얻습니다. 그러나 Xcode의 시뮬레이터에서 실행할 때, 나는 전체 PHP 스크립트를 응답으로받습니다. 나는 왜 그것이 실행되지 않는지 모른다.Xcode 시뮬레이터에서 phoneGap을 사용하여 PHP가 실행되지 않음 - AJAX, jQuery 사용

HTML 양식 :

<form id="loginForm" method = "post" action="PHP/login.php"> 
<input type="text" name="username" id="username" placeholder="Username" style="width: 200px;"><br> 
<input type="password" name ="password" id="password" placeholder="Password" style="width: 200px;"><br> 
<button type="submit" id="login" style="float: right;">Login</button> 
</form> 

jQuery를 :

$(document).ready(function(){ 
$("button#login").click(function(){ 
     u = $("#username").val(); 
     p = $("#password").val(); 
     if($("#username").val()==""||$("#password").val()=="") 
      alert("Please enter username and password"); 
      else 
      $.post($("#loginForm").attr("action"), 
      function(data){ 
       alert(data); 
       }); 
      $("#loginForm").submit(function(){ 
       return false; 
       }); 
      }); 
}); 

PHP는 MySQL 데이터베이스에 연결 :

//connection to the database 
$dbhandle = mysql_connect("localhost", "root", "************") 
or die("Unable to connect to MySQL"); 

//select a database to work with 
$selected = mysql_select_db("VLA",$dbhandle) 
or die("Could not select examples"); 

$username = mysql_real_escape_string($_POST["username"]); 
$pass = mysql_real_escape_string($_POST["password"]); 

$query = "SELECT count(*) FROM users WHERE (username='$username' AND password = '$pass')"; 

$result = mysql_query($query); 
$row = mysql_fetch_array($result); 

if ($row[0] > 0){ 
    echo "true"; 
}else{ 
    echo "false"; 
    } 

도움이 모든 종류의 감사하겠습니다!

+0

iOS 프로젝트에서 .php 파일을 포함하고있는 것처럼 들리겠습니다. 작동하지 않을 것입니다, 그것은 서버에서 호스팅되어야합니다. 만약 당신이 그 사실을 알고 시뮬레이터가 당신의 맥에서 호스팅되는 .php 파일과 통신하려고한다면 아마도 PHP URL 앞에 127.0.0.1 –

+0

접두어를 붙여 주셔야합니다. 나는 서버에서 PHP 파일을 참조 할뿐만 아니라 프로젝트 폴더 자체도 서버에두고 있지만 동일한 문제가 계속 발생했다. 이 코드는 브라우저에서 완벽하게 작동하지만 시뮬레이터에서 PHP 스크립트를 반환합니다. 접두어로 무엇을 의미합니까? 127.0.0.1/PHP/login.php를 의미합니까? – FootsieNG

답변

0

PHP 파일을 수정하여 json 데이터의 결과 데이터를 변환합니다.

$(document).ready(function(){ 
    $("button#login").click(function(){ 
     u = $("#username").val(); 
     p = $("#password").val(); 
     if($("#username").val()==""||$("#password").val()==""){ 
      alert("Please enter username and password"); 
     }else{ 
      var ajax_call = your_servicepath+'PHP/login.php';     
      var form = $('#loginForm').serialize();      
      $.ajax({ 
       type: "POST", 
       url: ajax_call, 
       data: form, 
       dataType: "json", 
       success: function(response){ 
        alert(JSON.stringify(response)); 
       } 
      }); 
     } 
    }); 
}); 
관련 문제