我有一个Angular服务,它只是我需要在控制器之间传递的变量的setter和getter:
var MyApp = angular.module('MyApp', ['ngResource', 'ngRoute'])
.service('userToken', function() {
var userTokenProp;
return {
getter: function() {
return userTokenProp;
},
setter: function(value) {
userTokenProp = value;
}
};
})
然后再下来我尝试根据该令牌的值在工厂中使用$ resource。还有另一个几乎完全相同的工厂可以设置令牌,但后一个工厂无法获得或使用令牌。我还需要在发出请求时将令牌发送到标头中。我所拥有的代码就是这个,我在尝试了许多其他方法将数据传递到工厂并在$ resource中设置标头后确定了一个表单:
.factory("apiQueryProfileFactory", function($resource, userToken) {
console.log("token: " + userToken.getter());
var uToken = userToken.getter();
var resource = $resource('http://localhost:3001/lsportal/api/v1/profile/:path', {}, {
get: {
method: "GET",
headers: {'token': uToken}
},
});
return resource;
});
然后从控制器(是的,通过工厂和服务):
apiQueryProfileFactory.get({path:'role'}, function(data) {
})
只是没有得到我失踪的东西,而且我已经反复了一段时间了!