我在註冊控制器中的響應有問題。 由於某些原因,即使將用戶保存到數據庫中,結果始終也是註冊失敗。爲什麼發生這種情況。我有點新的angularjs - 春天,並不明白爲什麼會發生這種情況?Angularjs給出了錯誤的迴應
user.service.js
(function() {
'use strict';
angular
.module('app')
.factory('UserService', UserService);
UserService.$inject = ['$http'];
function UserService($http) {
var service = {};
service.Create = Create;
return service;
function Create(user) {
console.log(user.password)
console.log(user.lastName)
console.log(user.email)
console.log(user.firstName)
console.log(user.customfield)
return $http.post('/api/register', user)
}
})();
而且register.Controller
(function() {
'use strict';
angular
.module('app')
.controller('RegisterController', RegisterController);
RegisterController.$inject = ['UserService', '$location', '$rootScope' ];
function RegisterController(UserService, $location, $rootScope) {
var vm = this;
vm.register = register;
function register() {
vm.dataLoading = true;
UserService.Create(vm.user)
.then(function (response) {
if (response.success) {
console.log("register Succeed")
//FlashService.Success('Registration successful', true);
$location.path('/home');
} else {
console.log("register Failed")
vm.dataLoading = false;
}
});
}
}
})();
register.html
<div class="container" ng-controller="RegisterController as vm">
<div class="col-md-6 col-md-offset-3">
<h2>Register</h2>
<div ng-show="vm.error" class="alert alert-danger">{{vm.error}}</div>
<form name="form" ng-submit="vm.register()" role="form">
<div class="form-group" ng-class="{ 'has-error': form.lastName.$dirty && form.lastName.$error.required }">
<label for="lastName">Last name</label>
<input type="text" name="lastName" id="lastName" class="form-control" ng-model="vm.user.lastName" required />
<span ng-show="form.lastName.$dirty && form.lastName.$error.required" class="help-block">Last name is required</span>
</div>
<div class="form-group" ng-class="{ 'has-error': form.firstname.$dirty && form.firstname.$error.required }">
<label for="firstName">First name</label>
<input type="text" name="firstName" id="firstName" class="form-control" ng-model="vm.user.firstName" required />
<span ng-show="form.firstName.$dirty && form.firstName.$error.required" class="help-block">First name is required</span>
</div>
<div class="form-group" ng-class="{ 'has-error': form.customfield.$dirty && form.customfield.$error.required }">
<label for="customfield">Custom field</label>
<input type="text" name="customfield" id="customfield" class="form-control" ng-model="vm.user.customfield" required />
<span ng-show="form.customfield.$dirty && form.customfield.$error.required" class="help-block">customfield is required</span>
</div>
<div class="form-group" ng-class="{ 'has-error': form.username.$dirty && form.username.$error.required }">
<label for="email">Username</label>
<input type="text" name="email" id="email" class="form-control" ng-model="vm.user.email" required />
<span ng-show="form.email.$dirty && form.email.$error.required" class="help-block">email is required</span>
</div>
<div class="form-group" ng-class="{ 'has-error': form.password.$dirty && form.password.$error.required }">
<label for="password">Password</label>
<input type="password" name="password" id="password" class="form-control" ng-model="vm.user.password" required />
<span ng-show="form.password.$dirty && form.password.$error.required" class="help-block">Password is required</span>
</div>
<div class="form-actions">
<button type="submit" ng-disabled="form.$invalid || vm.dataLoading" class="btn btn-primary">Register</button>
<a href="#/login" class="btn btn-link">Cancel</a>
</div>
</form>
</div>
</div>
你能舉例說明我可以如何使用if語句當用戶成功插入數據庫時。 – Greg
以下是昆汀所提及的基本示例及其工作原理: http://jsbin.com/gogesajogi/edit?js,output – benfes