我正在尝试在angular中创建一个身份验证服务,以便注册/登录用户。
在注册新用户之后,我在接收对服务的响应时遇到了一些问题。
以下是流程:
将新用户传递给Auth-service的前端控制器:
vm.onSubmit = function () {
Authentication
.register(vm.credentials)
.then(function(){
$location.path('/');
});
};身份验证服务register-function
register: function(user) {
return $http.post('/api/register', user).success(function(data){
console.log('authserviceDONE'); //I never get back here...
});
},The api/register -route
app.post('/api/register', function(req, res) {
User.register(new User({ username: req.body.username}), req.body.password, function(err,user) {
if (err) {
return res.json(err);
}
passport.authenticate('local')(req, res, function () {
console.log(req.user); // User gets logged
return req.user;
});
});
});我希望在前端接收user-object,以便让他登录到应用程序,但Auth-service从未接收到任何内容。关于我可能会遗漏的地方有什么建议吗?
发布于 2016-06-04 20:38:35
我不知道你的项目是如何组织的,所以我将向你展示什么对我有效。我通常有三个文件:app.js controllers.js services.js -这是非常标准的。
下面是一个示例:
app.js
angular.module('myApp', ['myApp.controllers', 'myApp.services'])
.config(function (...) { ...controllers.js
angular.module('myApp.controllers', [])
.controller('myCtrl',function($scope, srvAccount, $log){
srvAccount.getaccount()
.then(
function(response){
$scope.account = response.data;
$log.info(response.data);
},
function(rejection){
$log.error("getaccount error");
$log.log(rejection);
}
);
...最后是services.js
angular.module('myApp.services', [])
.factory('srvAccount', function ($http) {
return {
getaccount: function () {
return $http({
method: 'GET',
url: 'api/getaccount'
});
}
}
});打开browser developer tools > console并使用AngularJS $log进行调试。有关$log的更多信息,请单击此处https://docs.angularjs.org/api/ng/service/$log
https://stackoverflow.com/questions/37630024
复制相似问题