我试图从表单中发布值。表单有两个字段 - 名称和电子邮件。我也设置了控制器,但是当我尝试发布时,会显示错误。
<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');
});
}
};
});
})();
当我提交时,显示$未定义。我在角度方面几乎是新的。谁能说出我犯的所有错误呢?
答案 0 :(得分:4)
$
是jQuery
的别名,param
是jquery method。
您是否已加入jQuery
?
答案 1 :(得分:2)
data: $.param({'user' : $scope.sap }),
应该是
data: {
'user': $scope.sap //POST parameters
}
data - {string | Object} - 使用转换函数
转换的响应体