簡體   English   中英

我如何從PHP返回到Ionic Controller?

[英]How I can get return from PHP to Ionic Controller?

這是我的代碼。 請幫我把PHP條件中的id返回到角度控制器。 我在控制台日志中未定義。 這是我的代碼。 它錯誤和錯誤的代碼? 謝謝

我的離子控制器

.controller('LoginCtrl', function($scope, $http){
  $scope.LoginUser = function(info){
    console.log(info.username, info.password);
    var xhr = $http.post('http://pvcm.com/api/tambah_user.php', info);
    console.log(xhr);
  };
})

我的PHP

    if(isset($data)){
        $host = "";
        $username_database = "";
        $pass_database = "";
        $database = "";

        $conn = new mysqli($host, $username_database, $pass_database, $database);

        $sql_petugas = "SELECT * FROM petugas WHERE id_petugas = '$data->username' AND password_petugas = '$data->password'";
        $sql_masyarakat = "SELECT * FROM masyarakat WHERE id_masyarakat = '$data->username' AND password_masyarakat = '$data->password'";
        //$hasil = mysql_num_rows($sql);
        $hasil_petugas=mysqli_query($conn, $sql_petugas); 
        $hasil_masyarakat=mysqli_query($conn, $sql_masyarakat); 

        $count_petugas = mysqli_num_rows($hasil_petugas);
        $count_masyarakat = mysqli_num_rows($hasil_masyarakat);

        if($count_petugas > 0){
            return json_decode('id'=>100);
        }else if($count_masyarakat > 0){
            return "masyarakat ketemu";
        }

        $qry = $conn->query($sql);
        $conn->close();
    }
?>

在離子方面,你錯過了承諾。 $http返回一個promise,而不是數據本身,這意味着你必須使用另一個函數來獲取數據。 像這樣:

.controller('LoginCtrl', function($scope, $http){
  $scope.LoginUser = function(info){
    console.log(info.username, info.password);
    var xhr;
    $http.post('http://pvcm.com/api/tambah_user.php', info)
         .then(function(phpData){
                    xhr = phpData;
          })
         .catch(function(error){
                    xhr = error;
          });
    console.log(xhr);
  };
})

在此,內部的函數.then()執行如果請求是全成,並在獲取數據phpData參數,並且.catch() excecutes如果請求是一個錯誤(404,500等)。

在PHP代碼中,我認為你必須打印結果而不是返回它。 echo json_decode('id'=>100);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM