我有两个api一个用于登录,另一个用于注销,并且在succcessfulll登录时我得到acesstoken,并且基于acesstoken,我必须通过在头中传递acesstoken来注销。如何在使用angularJS的服务头中的localstorage中传递值存储?
所以对于注销我做什么,我存储在localStorage的acesstoken值,并通过在头,但我得到的错误
这里是services.js“的accessToken无效”:
angular.module('server', [])
.factory('api', function($http) {
var token = localStorage.AccessToken;
console.log(token);
var server = "http://myapi-nethealth.azurewebsites.net";
return {
//Login
login : function(formdata) {
return $http({
method: 'POST',
url: server + '/Users/Login',
data: $.param(formdata),
headers: { 'Content-Type' : 'application/x-www-form-urlencoded'},
});
},
logout : function() {
return $http({
method: 'POST',
url: server + '/Users/Me/Logout',
headers: { 'Content-Type' : 'application/x-www-form-urlencoded', 'Authorization' : 'token ' + token},
/*headers: { 'Content-Type' : 'application/json', 'Authorization' : 'token ' + token},*/
}).success(function (data, status, headers, config){
alert(JSON.stringify(status));
});
}
};
});
//Controller.js ..
ctrl.controller('logout', function($scope, $window, $state, api) {
$scope.logout = function() {
api.logout()
.success(function(data) {
console.log(data);
$scope.response = data;
$state.go('home');
})
.error(function(data) {
console.log(data);
$scope.response = data;
});
}
});
ctrl.controller('search', function($scope, $state) {
$scope.search = function() {
$state.go('clinic-list');
};
});
ctrl.controller('clinicCtrl', function($scope, $state, $window, api) {
$scope.formData = {};
$scope.clinicCtrl = function() {
/*$scope.loading = true;*/
api.login($scope.formData)
.success(function(data, status) {
console.log(data);
$scope.response = data;
if (data.hasOwnProperty('AccessToken') && data.AccessToken.length > 5) {
$state.go('home');
window.localStorage['AccessToken'] = angular.toJson(data.AccessToken);
var accessData = window.localStorage['AccessToken'];
console.log(accessData);
} else {
$state.go('login');
}
/*$scope.loading = false;*/
})
.error(function(data) {
console.log(data);
$scope.response = data;
$window.alert($scope.response.Message);
console.log($scope.response.Message);
});
}
});
请告诉我,我怎么能做到这一点....
你怎么保存的accessToken定制? – 2014-09-22 08:41:17
window.localStorage ['AccessToken'] = angular.toJson(data.AccessToken);,我通过使用这行代码保存... – 2014-09-22 08:44:06