通过$ http

时间:2015-07-12 19:23:42

标签: angularjs angular-http

你好我对某些事情有点困惑,当我发布我的表格时数据没有被发送到服务器,我已经多次检查我的控制台了,我无法理解发生了什么,这个是我的控制者:

angular.module('app').controller('InstCtrl', ['$http', '$scope', '$state', 'InstService', function($http, $scope, $state, InstService) {

    var parameters = {
        name: $scope.name,
        description: $scope.description,
        email: $scope.email,
        phone: $scope.phone,
        website: $scope.website,
        isActive: $scope.isActive
    };

    $scope.addInstitution = function(parameters) {

        InstService.add(parameters);
        console.log(parameters);

    };

}]);

这是服务:

angular.module('app').factory('InstService', function ($http) {

    var InstService = {};

    InstService.add = function(parameters) {

        return $http
            .post('/api/v1/institutions/', parameters)

    };

    return InstService;
});

我在前端使用AngularJS,在服务器上使用laravel 5.

console.log 返回 undefined 我的 $ http.post 始终为空,因为没有数据发布到服务器。

1 个答案:

答案 0 :(得分:1)

你实际上在哪里调用addInstitution方法?假设它来自你的html按钮。如果是这样,我认为这不会起作用。在设置这些范围变量之前定义参数对象。

尝试将参数定义移动到addInstitution:

$scope.addInstitution = function() {
   var parameters = {
       name: $scope.name,
       description: $scope.description,
       email: $scope.email,
       phone: $scope.phone,
       website: $scope.website,
       isActive: $scope.isActive
    };

    console.log(parameters);

    InstService.add(parameters);
};