angular js:错误:$未在http post中定义

时间:2016-04-15 10:30:12

标签: javascript angularjs

我试图从表单中发布值。表单有两个字段 - 名称和电子邮件。我也设置了控制器,但是当我尝试发布时,会显示错误。

<form name="save" ng-submit="sap.saved(save.$valid)" novalidate>

        <div class="form-group" >
            <input type="text" name="name" id="name" ng-model="sap.name" />
        </div>

        <div class="form-group" >
            <input type="email" name="email" id="email" ng-model="sap.email" />
        </div>

        <div class="form-actions">
            <button type="submit" ng-disabled="save.$invalid || sap.dataLoading">Save</button>
        </div>
</form>

我的控制器是:

(function() {

    angular
        .module('myApp.saved', [])

        .controller('dataController', function($scope, $http) {
            var sap = this;

            $scope.post = {};
            $scope.post.login = [];
            $scope.sap = {};
            $scope.index = '';

            var url = 'save.php';

            sap.saved = function(isValid) 
            {
                if (isValid) 
                {
                    $http({
                      method: 'post',
                      url: url,
                      data: $.param({'user' : $scope.sap }),
                      headers: {'Content-Type': 'application/x-www-form-urlencoded'}
                    })
                    .then(function(response) 
                    {
                            // success
                            alert('success');
                    }, 
                    function(response) 
                    { 
                        // failed
                        alert('failed');
                    });
                }
            };

        });

})();

当我提交时,显示$未定义。我在角度方面几乎是新的。谁能说出我犯的所有错误呢?

2 个答案:

答案 0 :(得分:4)

$jQuery的别名,paramjquery method

您是否已加入jQuery

答案 1 :(得分:2)

data: $.param({'user' : $scope.sap }),

应该是

data: {
    'user': $scope.sap  //POST parameters
}
  

data - {string | Object} - 使用转换函数

转换的响应体