[英]How to 'hit' specific function in PHP backend API with angular.js $http service?
我想知道是否可以使用$ http服务打特定功能(只是功能,而不是孔文件)?我的$ http服务看起来像这样:
$http.get('../classes/githubusers.php').then(function(response){
$scope.gitUsers = response.data;
console.log($scope.gitUsers);
});
后端API如下所示:
//function to show users on Admin
public function showGithubUsers(){
$sql = "SELECT * FROM githubusers ORDER BY id DESC";
$connect = new Database($username="",$password="");
$connect->connect();
$result = $connect->db->query($sql);
while($row = $result -> fetch(PDO::FETCH_ASSOC)){
$jsonVar[] = $row;
}
echo json_encode($jsonVar);
//var_dump($jsonVar);
}
//function to show unique users from dB
public function showUniqueUsers(){
$sql = "SELECT * FROM githubusers";
$connect = new Database($username="",$password="");
$connect->connect();
$result = $connect->db->query($sql);
$nameArray = [];
while($row = $result -> fetch(PDO::FETCH_ASSOC)){
$this -> name = $row['name'];
array_push($nameArray, $this -> name);
}
$uniqueNameArray = [];
$uniqueNameArray = array_unique($nameArray);
echo json_encode($uniqueNameArray);
}
}
我想做的是从这两个PHP函数中分别获取数据,但是$ http服务从漏洞githubusers.php文件中获取数据并在UI上应用错误。我试图在URL $ http.get('中添加函数名。 /classes/githubusers.php/showUniqueUsers'),但没有用。
Angular http
服务指向一个可访问的URL,这通常意味着在后端,您必须使用基于控制器的机制,在该机制中,您可以整理出访问URL时想要发生的各种操作。 每个现有的php框架都可以做到这一点。
如果要创建自定义的php文件,则需要使用具有基本__construct()
函数的php类,该函数将自动被调用,或者如果您不想使用类,则需要将这些函数放入单独的php中文件,并分别调用它们。
不能调用函数。 但是PHP足够聪明。 您可以创建一个新文件或将代码添加到现有的php文件中,这将根据您作为POST或GET参数传递的内容为您调用该函数。
例如,您可以将js代码更改为:
$http.get('../classes/githubusers.php?show=unique').then(function(response){
$scope.gitUsers = response.data;
console.log($scope.gitUsers);
});
然后您的PHP代码变为
//Can use a switch case here
if($_GET['show'] == 'unique')
showUniqueUsers();
else if ($_GET['show'] == 'github')
showGithubUsers();
//function to show users on Admin
public function showGithubUsers(){
$sql = "SELECT * FROM githubusers ORDER BY id DESC";
$connect = new Database($username="",$password="");
$connect->connect();
$result = $connect->db->query($sql);
while($row = $result -> fetch(PDO::FETCH_ASSOC)){
$jsonVar[] = $row;
}
echo json_encode($jsonVar);
//var_dump($jsonVar);
}
//function to show unique users from dB
public function showUniqueUsers(){
$sql = "SELECT * FROM githubusers";
$connect = new Database($username="",$password="");
$connect->connect();
$result = $connect->db->query($sql);
$nameArray = [];
while($row = $result -> fetch(PDO::FETCH_ASSOC)){
$this -> name = $row['name'];
array_push($nameArray, $this -> name);
}
$uniqueNameArray = [];
$uniqueNameArray = array_unique($nameArray);
echo json_encode($uniqueNameArray);
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.