0
我必須說,AngularJS中完全是newbee。我想在我的應用程序中添加註冊選項。我有一些例子,我想添加註冊選項。 我做了這樣的事情:參數不從前端傳遞到後端
var services = angular.module('exampleApp.services', ['ngResource']);
services.factory('UserService', function ($resource) {
return $resource('rest/user/:action', {},
{
authenticate: {
method: 'POST',
params: {'action': 'authenticate'},
headers: {'Content-Type': 'application/x-www-form-urlencoded'}
}
}
);
});
function LoginController($scope, $rootScope, $location, $cookieStore, UserService) {
$scope.rememberMe = false;
$scope.login = function() {
UserService.authenticate($.param({username: $scope.username, password: $scope.password}), function (authenticationResult) {
var authToken = authenticationResult.token;
$rootScope.authToken = authToken;
if ($scope.rememberMe) {
$cookieStore.put('authToken', authToken);
}
UserService.get(function (user) {
$rootScope.user = user;
$location.path("/");
});
});
};
$scope.register = function() {
$scope.user = new UserService();
console.log($scope.user);
$scope.user.$save(function() {
$location.path('/');
});
};
} ;
angular.module('exampleApp', ['ngRoute', 'ngCookies', 'exampleApp.services'])
.config(
['$routeProvider', '$locationProvider', '$httpProvider', function ($routeProvider, $locationProvider, $httpProvider) {
$routeProvider.when('/create', {
templateUrl: 'partials/create.html',
controller: CreateController
});
$routeProvider.when('/login', {
templateUrl: 'partials/login.html',
controller: LoginController
});
//more stuff here
});
@Component
@Path("/user")
public class UserResource {
//some field here
@POST
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
public User register(User user) {
return this.userDao.save(user);
}
的事情是,我達到了在Java register
方法處理,但我的用戶參數爲空。
我還試圖用:
@POST
@Produces(MediaType.APPLICATION_JSON)
public User register(@QueryParam("password") String password, @QueryParam("username") String username) {
return this.userDao.save(new User(username, password));
}
和
$scope.register = function() {
$scope.user = new UserService();
console.log($scope.user);
$http({
url: 'user',
method: 'POST',
params: {
username: $scope.username,
password: $scope.password
}
}).success(function (data) {
$scope.persons = data;
});
};
但我已經收到
Failed to load resource: the server responded with a status of 404 (Not Found)
在瀏覽器中。
認證工作正常,我有註冊功能問題 – Araneo