我如何从 AngularJS 控制器向 php 发送数据?

how do i send data to php from AngularJS controller?

为了做到这一点,我受了很多苦,换句话说: 尝试向 myfunction.php 发送一个令牌,这样它就可以完成它的工作,然后让它成为 return 2 个变量,这样我就可以在我的 Javascript 控制器中使用 em(用 angularJS ).

到目前为止我听说我应该使用 $http,但我不明白我应该怎么做

创建一个 angularjs 服务并在您的控制器中使用它。 这是可以提供创建、读取、写入和删除功能的服务:

app.service("MainService", ['$http', function ($http) {

    this.getItems = function (url) {
        return $http.get(url);
    };

    this.getItem = function (id, url) {
        return $http.get(url + "/" + id)
    };

    this.post = function (itemToCreate, url) {
        var request = $http({
            method: "post",
            url: url,
            data: itemToCreate
        });
        return request;
    };

    this.put = function (id, itemToChange, url) {
        var request = $http({
            method: "put",
            url: url + "/" + id,
            data: itemToChange
        });
        return request;
    };

    this.delete = function (id, url) {
        var request = $http({
            method: "delete",
            url: url + "/" + id
        });
        return request;
    };

}]);

接下来将此服务作为依赖项添加到您的控制器并使用它的方法如下:

app.controller("MyCtrl", ['$scope', '$rootScope', '$timeout', 'MainService', function ($scope, $rootScope, $timeout, MainService) {

    //Get All Items::
    $scope.GetItems = function () {

        var getAllItems = MainService.getItems("YOUR_API_URL_FOR_GET_ITEMS");
        getAllItems.then(function (response) {
            $scope.items = response.data;//use items with ng-repeat in you html code
        })
        .catch(function (response) {
            alert("YOUR_ERROR_MESSAGE");
        })
        .finally(function () {
            alert("AFTER_METHOD_EXECUTION");
        });
    };

    //Create New Item::
    $scope.Create = function () {
        //CREATE an Object and send it via post request. for example:
        var category = new CategoryObject($scope.Title, $scope.Description);
        var promisePost = MainService.post(category, "YOUR_API_URL_FOR_Post_Item");
        promisePost.then(function (response) {
            alert("SUCCESSFUL");
        })
        .catch(function (response) {
            alert("YOUR_ERROR_MESSAGE");
        })
        .finally(function () {
            alert("AFTER_METHOD_EXECUTION");
        });
    };

    //Edit an Item::
    $scope.Edit = function () {

        //CREATE an Object:
        var category = new CategoryObject($scope.Title, $scope.Description);
        //Then set it's Id
        category.Id = $scope.CategoryId;

        var promisePut = MainService.put($scope.CategoryId, category, "YOUR_API_URL_FOR_Put_Item");
        promisePut.then(function (response) {
            alert("SUCCESSFUL");
        })
        .catch(function (response) {
            alert("YOUR_ERROR_MESSAGE");
        })
        .finally(function () {
            alert("AFTER_METHOD_EXECUTION");
        });
    };

    //Delete an Item::
    $scope.delete = function (id) {
        var promiseDelete = MainService.delete(id, "YOUR_API_URL_FOR_Delete_Item");
        promiseDelete.then(function (response) {
            alert("SUCCESSFUL");
        })
        .catch(function (response) {
            alert("YOUR_ERROR_MESSAGE");
        })
        .finally(function () {
            alert("AFTER_METHOD_EXECUTION");
        });
    }
}]);