我试图使用angularJS实现重定向到新的用户配置文件;但是,在成功创建用户后,我无法将用户对象从Sails Action返回到angular。因此,我没有用户ID,以便使用angular渲染页面。
我正在使用默认的SailsJS架构。
以下是 SignUpController.js 中的 Angular 代码(我知道在控制器中发出http请求并不是最好的主意)
angular.module('SignupModule').controller('SignupController', function ($scope, $http, $location) {
$scope.submitSignupForm = function (){
console.log("clicked");
$scope.successMessage = false;
$scope.errorMesaage = false;
$http.post('/signup', {
name: $scope.signupForm.name,
pass: $scope.signupForm.pass
}).then (function onSuccess(res){
$scope.successMessage = true;
// render the profile of a new user
// did not get user object from sails
// res object return status of request but not user object
}).catch(function onError(res){
$scope.errorMesaage = true;
})
}
});
这是我在 UserController.js 中的 SailsJS 代码。(我试图返回res.send()和res.json()但它没有'工作。)
module.exports = {
//create new user
create: function (req, res, next) {
//check if user exists
User.findOne({name: req.param('name')}).exec(function findOneCB(err, found){
if(err) return next(err);
//if user does not exist create one; otherwise exit
if(!found){
User.create (req.params.all(), function userCreated(err, user){
if(err) return next(err);
/* return user object to angular */
//return res.send(user);
//return res.json(user);
});
} else {
return next();
}
});
}
};
这里是 config / routes.js
'GET /signup': {
view: 'signup'
},
'POST /signup': {
controller: 'UserController',
action: 'create'
},
工作流程应如下所示:
谢谢! :)
答案 0 :(得分:0)
你可以这样做,
span