【发布时间】:2017-02-07 07:00:48
【问题描述】:
我正在使用 JWT 进行用户授权。我正在使用 Node API 在 mongodb 中插入数据。现在我想将登录用户的 id 与数据一起插入到 mongodb 中。
角度
//factory for blog insert
app.factory('blogFactory', function($resource, $rootScope){
return $resource('/api/addblog/:id', {id:'@_id'},{get:{headers:{'authorization':$rootScope.token}}});
});
//controller for add blog
app.controller('blogpostCtrl', function($rootScope, $scope, blogFactory, $location){
$scope.addBlog=function(){
$scope.blogg=new blogFactory($scope.blog);
$scope.blogg.$save(function(){
$scope.blog=" ";
$scope.alert="Blog Successfully Inserted..!!!";
});
};
});
节点接口
apiRoutes.post('/addblog', function(req, res){
var tokenx=req.headers.authorization;
console.log(tokenx);
var loggedinUser= jwt.decode(tokenx, config.secret);
var CurrentDate=Date.now();
var newBlog=new blogModel({
title:req.body.title,
description:req.body.description,
category:req.body.category,
date:CurrentDate,
by:loggedinUser._id
});
newBlog.save(function(err, data){
if(err){return res.json({success:false, msg:'Blog Not Posted'})}
else{
res.json({success:true, msg:'Successfully Posted'});
}
});
});
所以,我想知道,用angular js在$resource中写headers是否正确。
当我执行此代码时,它显示错误Error: No Token Supplied。在console.log 中也显示了一个错误POST http://localhost:3000/api/addblog 500 (Internal Server Error)。
请帮忙。
【问题讨论】:
-
你在
req.headers.authorization中获得价值了吗? -
没有。它的
undefined -
在发送过程中你得到
$rootScope.token这个值? -
你能显示你的主服务器文件吗?
-
是的
$rootScope.token有令牌
标签: javascript angularjs node.js jwt