2017-03-29 1 views
0

Ich bin ein Anfänger in eckigen. Ich möchte ngCookie für die Anmeldung verwenden. Ich benutze Ajax, um Benutzerinformationen von einem PHP-Backend zu bekommen, und wenn ich einen Benutzernamen habe, wird eine Logout-Schaltfläche angezeigt. Hier ist mein Code:mit ngCookies eckig für Login

$http({ 
    method:'POST', 
    url:'login.php', 
    data:$.param(vm.formData), 
    headers : { 'Content-Type': 'application/x-www-form-urlencoded' } 
}).then(Success); 

function Success(response) { 
    $cookies.get('username') = response.data.username; 
    $cookies.put('username','username'); 
} 

Hier ist mein html

<div ng-show="username"> 
    <li><a href="">Hello {{username}}</a></li> 
    <li><a href="">Log out</a></li> 
</div> 

Fehler:

angular.js:12520 ReferenceError: Invalid left-hand side in assignment

+0

einige Neuformatierung Did und Tippfehler beheben. – meilke

Antwort

0

Dies ist wahrscheinlich der Fehler

$cookies.get('username') = response.data.username; 

Wenn Sie einen Wert Benutzernamen zuweisen möchten versuchen, diese

// Setting a cookie for the user 
$cookies.put('currentUser', response.data.username); 
// Retrieving a cookie for the user 
var currentUser = $cookies.get('currentUser'); 

Für ein Logout-Button können Sie versuchen,

<body ng-controller="MainCtrl"> 
<button ng-if="user">Log Out</button> 
</body> 

angular.controller("MainCtrl",function($scope,$cookies){ 
$scope.user = $cookies.get("currentUser"); 
}); 
+0

danke Mann. Es funktioniert, aber Abmelde-Button wird nicht angezeigt. Wie kann ich es beheben –

+0

Sie wollen es in Ihrem $ Bereich für die ng-wenn ng-Show etc haben –