2015-01-20 5 views
5

मेरी AngularJS आवेदन मैं localStorage सेवा का उपयोग करने की कोशिश कर रहा हूँ में, मैं की "कोणीय स्थानीय storage.js" संदर्भ बनाया और में इंजेक्शन सेवा मॉड्यूलlocalStorageService.set रिटर्न "isUndefined परिभाषित नहीं है"

var app = angular.module('SampleApp', ['ngRoute', 'ngSanitize', 'toaster', 'LocalStorageModule']); 
है

जब मैं अपने नियंत्रक में अपनी फेंकने वाली त्रुटि में सेवा का उपभोग करने की कोशिश कर रहा हूं।

(function() { 

var app = angular.module('SampleApp'); 

app.controller('loginController', ['$scope', 'notificationFactory', '$location', 'HTMLEditorService', '$rootScope', '$q', 'localStorageService', 
function ($scope, notificationFactory, $location, HTMLEditorService, $rootScope, $q, localStorageService) { 

    var _authentication = { 
     isAuth: false, 
     userName: "" 
    }; 

    $scope.bind = function (data) { 
     if (data.status) { 
      if (data.Metadata.ErrorMessage == null || data.Metadata.ErrorMessage.trim() == '') { 

       if (data.Metadata.AuthToken == null || data.Metadata.AuthToken.trim() == '') { 
        notificationFactory.error("User authentication failed. Please try again."); 
       } 
       else { 
        var deferred = $q.defer(); 
        localStorageService.set('authorizationData', { userName: data.Data.UserName }); 

        _authentication.isAuth = true; 
        _authentication.userName = data.Data.userName; 

        deferred.resolve(response); 

        notificationFactory.success('User logged-in successfully!'); 
        $rootScope.isLoggedIn = true; 
        $location.url('/LandingPage'); 
       } 
      } 
      else { 
       notificationFactory.error(data.Metadata.ErrorMessage); 
      } 
     } else { 
      notificationFactory.error('Server Error. Please try again.'); 
     } 
    } 

    $scope.userLogin = function() { 
     try { 

      if (loginValidation(this.userName, this.password)) { 

       var request = new Object(); 
       request.Metadata = new Object(); 
       request.Data = new Object(); 

       request.Metadata.SecurityGroupId = 1; 

       request.Data.UserName = this.userName; 
       request.Data.Password = this.password; 

       HTMLEditorService.userLogin(request) 
        .then($scope.bind); 
      } 
      else { 
       notificationFactory.error('Invalid credentials'); 
      } 
     } catch (e) { 
      notificationFactory.error('Error! Please try again.'); 
      console.log(e); 
     } 
    } 


    $scope.cancelLogin = function() { 
     try { 
      this.userName = ''; 
      this.password = ''; 

      $location.url("/Login"); 
     } catch (e) { 
      notificationFactory.error('Error! Please try again.'); 
     } 
    } 
    $rootScope.isLoggedIn = false; 
}]); 

}());

त्रुटि फेंक दिया:

ReferenceError: isUndefined परिभाषित नहीं है

कोई भी सुझाव अत्यधिक appriciated है।

अग्रिम धन्यवाद

+0

क्या आप अपना अधिक कोड दिखा सकते हैं, यानी। 'डेटा' कहां से आया? – MiTa

+0

हाय मिटा, मैंने पूरे नियंत्रक चिपकाया है, कृपया एक नज़र डालें और यदि संभव हो तो मुझे सुझाव दें। –

उत्तर

0

मुझे एक ही समस्या थी। मैंने उपसर्ग "कोणीय" जोड़कर इसे हल किया। isObject, isUndefined, isArray और ISNUMBER करने कोणीय स्थानीय storage.js भीतर:

angular.isObject, ...

+0

ठीक है, मुझे समस्या का वास्तविक कारण मिला है। – sledgy

+0

आपको कोणीय-स्थानीय-स्टोरेज-साइट से common.js जोड़ना होगा। – sledgy

9

GitHub देखें मुद्दा here angular.isUndefined।

संक्षेप में, आप शायद अपने मुख पृष्ठ, से संस्करण है जो शीर्ष

var isDefined = angular.isDefined

समाधान अधिमानतः github से संस्करण का उपयोग करने के लिए या, है पर लाइन शामिल नहीं है को संदर्भित कर रहे हैं, स्थापित करें बोवर

bower install angular-local-storage --save

संबंधित मुद्दे