我正在尝试从像这样的服务中访问$ cookieStore($cookieStore.get("username")
):
var angServices = angular.module('angServices', ['ngResource', 'ngCookies']);
angServices.factory('rsrUser', [ '$resource',
function($resource, $cookieStore){
var req = "/login"
var timestamp = getMicrotime(true).toString();
var username = $cookieStore.get("username");
return $resource(baseURL + req, {}, {
logIn: {method:'POST',
isArray:false,
headers:{
'X-MICROTIME': timestamp,
'X-USERNAME': username,
'X-HASH': getHMAC(timestamp, req)
}
}
});
}]);
但这会返回TypeError: Cannot call method 'get' of undefined
我做错了什么或有更好的原因来实现这个目标?
答案 0 :(得分:5)
您正在使用带注释的注入,但没有为cookie商店提供注释。
var angServices = angular.module('angServices', ['ngResource', 'ngCookies']);
// Add $cookieStore to the array, here --\
angServices.factory('rsrUser', [ '$resource', '$cookieStore'
function($resource, $cookieStore){
// the same
}
}]);
答案 1 :(得分:1)
工厂的参数与您的方法签名不符。您需要添加' $ cookieStore'参数列表或第二个参数将是未定义的
angServices.factory('rsrUser', [ '$resource', '$cookieStore',