![](/img/trans.png)
[英]AngularJS Http Request return 401 from a SailsJS server with Electron
[英]SailsJS + AngularJS (registration) - How to return object from SailsJS Action to AngularJS
我正在嘗試使用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'
},
工作流程應如下所示:
謝謝! :)
你可以這樣做,
module.exports = {
create: function (req, res) {
User.findOne({name: req.param('name')}).exec(function findOneCB(err, found) {
if (err) return res.negotiate(err);
if (!found) {
User.create(req.params.all(), function userCreated(err, user) {
if (err) res.negotiate({error:err});
return res.ok(user);
});
} else {
return res.negotiate({error:new Error("USER_EXIST")});
}
});
}
};
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.