我正在使用 Angular 的 $http.get 函数调用 PHP 脚本文件来检索数据
var $promise = $http.get("../php-bin/example.php",obj).success(function(data) {
console.log(data);
});
php 应该只是从 mysql 数据库中获取数据,以找出一种将数据获取到我的应用程序中的方法
$user = json_decode(file_get_contents('php://input'));
$email = $user->email;
$pass = $user->pass;
$con = //a mysql_connection;
// Check connection
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$validateEmail = "SELECT `Email` FROM `newUsers` WHERE `Email` = '$email' ";
if ($result = mysqli_query($con,$validateEmail)) {
if ($result->num_rows == 1){
$date = '2014-08-13';
//$sql = "INSERT INTO newUsers (Email, CreationDate, UserRef, Type, id) VALUES ('$email','$date','$email','Host','$ssid')";
$sql = "SELECT `email` FROM `newUsers` WHERE `hashpass` = '$pass' ";
$result = mysqli_query($con,$sql);
$row = mysqli_fetch_assoc($result);
return $row;
//I never receive this data in the angular app.
}
}
mysqli_close($con);
?>
有人能告诉我正确的方法吗。
最佳答案
我看到您有一个 return
语句而不是 echo
语句。 return
语句不会打印在 PHP 输出中。 A return
statement outside a function has only sense when you include the file :
$returned = include('the_file_you_showed_here.php');
//you will hold the row here
return
语句 kills the current script返回包含脚本(如果有),但不向输出发送任何值(这就是 die
/exit
的目的)。你应该:
- 将
return
更改为echo
。 - 如果您打算发送 json 数据,请记住在任何实际的
echo
指令或非 - php 内容。 - 记得对数据进行编码:
return json_encode($row)
。
关于javascript - Angular JS $http.get 不接收来自 PHP 脚本的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25345370/