[英]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.