如何使用angular.php文件中的函数

时间:2017-06-10 02:02:23

标签: javascript php angularjs

我想通过PHP中的一个函数检索用户信息。

角度代码:

$scope.users = $http({
  method: 'GET',
   url: 'functions.php/getUsers()'
  }).then(function(response){
   $scope.users = response.data;
  },function(reason){
   $scope.error = reason.data;
  });
}

其中getUsers()是将json数据返回到角度的函数。

还有其他方法可以使用PHP文件中的角度函数吗?

2 个答案:

答案 0 :(得分:1)

  

请记住functions不能等于我们的公共变量,在此示例中,您$scope.usersfunction,并且您再次等于response.data(实际上你错过了function

     

您无法从文件中读取内容,您必须使用向您返回json的api网址

$scope.users = $http({
  method: 'GET',
   url: 'functions.php/getUsers()'
  }).then(function(response){
   $scope.users = response.data;
  },function(reason){
   $scope.error = reason.data;
  });
}

更改为

$scope.getUsers = function(){
  //for example api url for your users is "http://localhost:8080/users"
  var api = "you api url";
  $http({method: 'GET', url: api}).then(function(response){
   $scope.users = response.data;
  },function(reason){
   $scope.error = reason.data;
  });
 }    
}
//request data
$scope.getUsers();

或直接使用它,无需功能

//for example api url for your users is "http://localhost:8080/users"
var api = "you api url";
$http({method: 'GET', url: api}).then(function(response){
  $scope.users = response.data;
},function(reason){
  $scope.error = reason.data;
});
} 

答案 1 :(得分:0)

您无法以这种方式在JavaScript文件中调用PHP函数。您可以按照以下步骤执行此操作:

1)创建get-users.php文件

<?php
    require 'functions.php';  

    echo getUsers();
?>

2)对创建的文件发出http请求

$scope.users = $http({
    method: 'GET',
    url: 'your-website-url/get-users.php'
 }).then(function(response){
    $scope.users = response.data;
 },function(reason){
   $scope.error = reason.data;
 });
}

<强>更新

如果你有很多功能,并且不想为每个功能创建一个文件。那么你可以这样做:

1)创建all-functions.php文件

<?php

  require 'functions.php';

  if (function_exists($_GET['func'])) {
    echo call_user_func($_GET['func']);
  } else {
     echo "Error: function does not exist";
  }

  ?>

2)更新角度代码

 $scope.users = $http({
    method: 'GET',
    url: 'your-website-url/all-functions.php',
    data: {
        func: 'getusers' 
     }
 }).then(function(response){
    $scope.users = response.data;
 },function(reason){
   $scope.error = reason.data;
 });
}