错误:[$injector:unpr] 未知提供者:$localStorageProvider <- $localStorage <- login
Posted
技术标签:
【中文标题】错误:[$injector:unpr] 未知提供者:$localStorageProvider <- $localStorage <- login【英文标题】:Error: [$injector:unpr] Unknown provider: $localStorageProvider <- $localStorage <- login 【发布时间】:2018-07-23 09:02:53 【问题描述】:嘿,我正在 ionic 1 中登录...我无法将身份验证保存在本地存储中,在我执行此本地存储之前,我使用了会话存储,但每次人们想再次打开我的应用程序时,它应该重新登录..
这是我的控制器。
.controller('login', function($scope, $http, $ionicPopup, $state, $ionicHistory, $localStorage, $window)
// localhost
var baseUrl = 'http://developing/alhikmah_api/v1/mobile/auth/login';
$scope.showAlert = function(msg)
$ionicPopup.alert(
title: msg.title,
template: msg.message,
okText: 'Baik',
okType: 'button-positive'
)
if ($localStorage.getItem('nis') !== null && $localStorage.getItem('token') !== null)
$scope.showAlert(
title: "Pesan",
message: "Selamat Datang Kembali :)"
);
$state.go('tab.home');
$scope.login = function()
if (!$scope.login.nis)
$scope.showAlert(
title: "Informasi",
message: "Nomor Induk Santri Harap di Isi !"
)
else if (!$scope.login.pass)
$scope.showAlert(
title: "Informasi",
message: "password mohon diisi"
)
else
$http.post(baseUrl,
username: $scope.login.nis,
password: $scope.login.pass,
role: "santri"
).success(function(data)
console.log(data);
if (data.success == false)
$scope.showAlert(
title: "Information",
message: data.message
)
$scope.login.nis = '';
$scope.login.pass = '';
else
$localStorage.setItem('id', data.data[0].id);
$localStorage.setItem('nis', data.data[0].username);
$localStorage.setItem('token', data.token);
$scope.showAlert(
title: "Information",
message: data.message
)
$state.go('tab.home');
);
)
如果我使用会话存储而不是本地存储,一切正常。但我只想让人们不再登录我的应用程序。
谢谢
【问题讨论】:
【参考方案1】:我假设您指的是 ngStorage
模块
像这样使用ngStorage js文件(确保在加载angularjs之后加载它,注意脚本标签的顺序):
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.1/angular.min.js"></script>
<script type="text/javascript" src="https://cdn.jsdelivr.net/ngstorage/0.3.6/ngStorage.min.js>
那么您可以在控制器中使用 $localStorage,如果不使用 $window.localStorage
【讨论】:
已使用该脚本,但仍显示错误未知提供程序。 你能提供一个plunker吗 对不起,我仍然在控制器参数中使用 $localstorage,并且在删除该参数后它现在可以工作了!谢谢!以上是关于错误:[$injector:unpr] 未知提供者:$localStorageProvider <- $localStorage <- login的主要内容,如果未能解决你的问题,请参考以下文章
错误:[$injector:unpr] 未知提供者:$routeProvider,无法实例化模块 myApp,原因是
错误:[$injector:unpr] 未知提供者:$localStorageProvider <- $localStorage <- login
未捕获的错误:[$injector:unpr] 未知提供程序:$cordovaPushV5Provider <- $cordovaPushV5
未知提供者:$routeParamsProvider <- $routeParams