2017-04-26 4 views
0

Ich verwende Azure Mobile-Dienste mit ionischen und ich versuche, meinen Client in einer Fabrik als Singleton zu erstellen. Wenn ich versuche, den Client wie gewohnt zu benutzen, erhalte ich diesen Fehler. Fehler: Variable kann nicht gefunden werden: WindowsAzure. Vielen Dank im Voraus.Fehler: Variable kann nicht gefunden werden: WindowsAzure

Fabrik

.factory('client', [function(){ 
var myjsonObj = new WindowsAzure.MobileServiceClient('https://xxx.azurewebsites.net'); 
return myjsonObj; 
}]) 

-Controller, wo ich es nennen

.controller('loginCtrl', ['$scope', '$stateParams', 'md5', 'Userid', '$state','$ionicSideMenuDelegate','$ionicLoading','client',// The following is the constructor function for this page's controller. See https://docs.angularjs.org/guide/controller 
// You can include any angular dependencies as parameters for this function 
// TIP: Access Route Parameters for your page via $stateParams.parameterName 
function ($scope, $stateParams,md5,Userid,$state,$ionicSideMenuDelegate,$ionicLoading,client) { 

$scope.UserInfo = {}; 

$ionicSideMenuDelegate.canDragContent(false); 


    $scope.show = function() { 
    $ionicLoading.show({ 
     template: '<p>Loading...</p><ion-spinner></ion-spinner>' 
    }); 
    }; 

    $scope.hide = function(){ 
     $ionicLoading.hide(); 
    }; 

$scope.login =function(){ 

$scope.show($ionicLoading); 








    if ($scope.UserInfo.password == null){ 
     $scope.UserInfo.password = "fa"; 
    } 




    var query = client.getTable('clubUser') 
    .where({ Email: $scope.UserInfo.email, Password: md5.createHash($scope.UserInfo.password) }) 
    .read() 
    .done(function(results) { 


     if(results[0] == undefined) 
     { 

      $scope.errorText = "Error: Wrong Username/Password"; 
      $scope.$apply(); 
      $scope.hide($ionicLoading); 
     } 
     else 
     { 
      $scope.hide($ionicLoading); 
      Userid.setJson(results[0].id); 

      $state.go('tabsController.qRCode'); 

     } 




    }, function(error) { 

     console.dir(error); 
     $scope.hide($ionicLoading); 
    }); 

$scope.UserInfo.password = ""; 




}; 



}]) 
+0

Es scheint, dass das Skript nicht geladen ist. Verwenden Sie das npm-Paket oder -Skript? –

+0

Ich habe mein Projekt in der cmd und verwendet Cordova Plugin hinzufügen Cordova-Plugin-ms-Azure-Mobile-Apps zu installieren. @Volodymyr Bilyachat – Dedawg

+0

Cordova Plugin funktioniert nur auf Handy, und ich nehme an, dass Sie es in Browser ausführen, ist das richtig? –

Antwort

1

So, nachdem in den Fehler suchen und keine Ergebnisse finden, die ich beschlossen, die mobile Dienste hinzufügen Plugin manuell über das Skript Hinzufügen in meinem Index und jetzt funktioniert es super! Vielen Dank für Ihre Hilfe.

0

Sie müssen sicherstellen, dass sich die App im Status "Bereit" befindet (d. H. Alle JavaScript-Bibliotheken sind geladen). In Ionic ist es am besten, eine Fabrik zu verwenden, um ein Singleton sicherzustellen. Das wird Ihnen auch versichern, dass es zur richtigen Zeit geladen wird.

Verwandte Themen