gpt4 book ai didi

php - 如何从 PHP 返回到 Ionic Controller?

转载 作者:行者123 更新时间:2023-11-30 22:06:21 25 4
gpt4 key购买 nike

这是我的代码。请帮助我将 PHP 条件下的 id 返回给 Angular Controller 。我在控制台日志中未定义。这是我的代码。它的错误和错误代码?谢谢

我的 Ionic Controller

.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();
}
?>

最佳答案

在 Ionic 方面,您错过了 promise 。 $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() 如果请求出错(404、500 等)则执行。

在 PHP 代码中,我认为您必须打印结果而不是返回结果。像 echo json_decode('id'=>100);

关于php - 如何从 PHP 返回到 Ionic Controller?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41597474/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com