Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/255.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何';点击';使用angular.js$http服务的PHP后端API中的特定函数?_Javascript_Php_Json_Angularjs_Api - Fatal编程技术网

Javascript 如何';点击';使用angular.js$http服务的PHP后端API中的特定函数?

Javascript 如何';点击';使用angular.js$http服务的PHP后端API中的特定函数?,javascript,php,json,angularjs,api,Javascript,Php,Json,Angularjs,Api,我想知道是否可以用$http服务点击特定的函数(只是函数,而不是孔文件)?我的$http服务如下所示: $http.get('../classes/githubusers.php').then(function(response){ $scope.gitUsers = response.data; console.log($scope.gitUsers); }); //function to show users on Admin public function showGith

我想知道是否可以用$http服务点击特定的函数(只是函数,而不是孔文件)?我的$http服务如下所示:

$http.get('../classes/githubusers.php').then(function(response){

 $scope.gitUsers = response.data;
 console.log($scope.gitUsers);

 });
 //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);
  }
  }
后端API如下所示:

$http.get('../classes/githubusers.php').then(function(response){

 $scope.gitUsers = response.data;
 console.log($scope.gitUsers);

 });
 //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文件,则需要将php类与将自动调用的基本
\u construct()
函数一起使用,或者如果不想使用类,则需要将函数放入单独的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);
  }
  }