2016-09-23 3 views
-2

Ich habe ein wenig Probleme mit meiner WebanwendungJSON Boolean scheint nicht zu funktionieren

Erste Mal mit JSON für mich arbeiten.

Wo die json Mag ich

{ 
"Code":"310254351", 
"FirstName":null, 
"LastName":null, 
"NewUser":true 
} 

sieht in meinem HTML sehen, dass die 'NewUser' Bool durch perfekt kommt. Irgendwie kann ich nicht bekommen, ist in JS (Winkel-)

$scope.checkForUserProfile = function() { 
    $scope.getUserProfile(); 

    if ($scope.userprofile.NewUser) 
    { 
     $scope.showWelcome = false; 
     $scope.showProfileNew = true; 
    } 
    else (!$scope.userprofile.NewUser) 
    { 
     $scope.showWelcome = true; 
    }   
} 

$scope.getUserProfile = function() { 
    $scope.loading = true; 
    $http.post('http://localhost:49165/Service1.svc/userprofile/get/').then(
     function (response) { 
      $scope.userprofile = response.data; 
     }, function (errResponse) { 
      console.error('Error while getting user profile'); 
     }); 
    $scope.loading = false; 
}; 

Bin ich fehlt etwas Casting oder etwas zu arbeiten?

Ich versuchte mehrere Möglichkeiten, auch dies scheint nicht zu funktionieren;

if ($scope.userprofile.NewUser = true){ 

// Etwas }

+4

Ihr Code syntaktisch nicht korrekt ist. Überprüfen Sie die Entwicklerkonsole Ihres Browsers und Sie werden die Fehler sehen. – Pointy

+0

Wo, wie und vor allem ** wann ** ist $ scope.userprofile tatsächlich mit Daten gefüllt? – deceze

+0

Können Sie eine 'console.log ($ scope.userprofile)' direkt vor der 'if()' Anweisung hinzufügen? –

Antwort

0

$scope.userprofile es nicht definiert zu sein scheint.

$scope.userprofile = $scope.getUserProfile(); 
+0

Anstatt auf einer Schätzung zu antworten, kann es besser sein, einen Kommentar zu stellen, um klarzustellen, dass '$ scope.getUserProfile()' tatsächlich den Wert '$ scope.userprofile' so definiert, wie er aussieht. –

+0

Sie Recht @torazaburo, danke. Obwohl nicht behauptet, war es für mich klar geworden. –

-1
else (!$scope.userprofile.NewUser) 

else muss kein boolean wie folgt aus: Wenn Sie dies tun wollen! Entfernen Sie das Bit zwischen ().

So ist die if wird:

if ($scope.userprofile.NewUser) 
    { 
     $scope.showWelcome = false; 
     $scope.showProfileNew = true; 
    } 
    else 
    { 
     $scope.showWelcome = true; 
    } 
Verwandte Themen