wie kann ich eine Umleitung mit Angular.js?
Ich will eine Weiterleitung zu einer anderen route und die Seite aufgefrischt werden müssen-und server-Seite behandelt, so dass die $location.path(url)
können mir nicht helfen. Ich habe versucht window.location(url)
aber ich habe diesen Fehler: window.location is not a function
Meine app.js:
'use strict';
var app = angular.module('myApp', []).
config(['$routeProvider', '$locationProvider', function($routeProvider, $locationProvider) {
$routeProvider.when('/', {
templateUrl: 'partials/index'});
$routeProvider.when('/logout', {
controller: 'logoutCtrl'});
$routeProvider.otherwise({
redirectTo: '/'});
$locationProvider.html5Mode(true);
}]);
meine logoutCtrl:
function logoutCtrl($scope, $location){
$apply(function() {
$location.path("/users/logout");
});
}
Werden die Teiltöne/index enthält dieser link:
a(href='/logout') Logout
Nun werde ich zeigen, wie ich verwalte meine Routen server-Seite mit Express.js:
app.get('/', ctrl.index);
app.get('/partials/:name', ctrl.partials);
app.get('/users/logout', ctrl.logout);
exports.logout = function(req, res)
{
console.log('logout');
req.session.destroy(function(err){ //I destroy my session
res.redirect('/'); //redirection to '/'
});
}
Nun wenn ich auf "logout" nichts passiert, ich bin nur sehen diese route localhost:3000/logout
in meiner bar, aber wenn ich Typ localhost:3000/users/logout
ich habe das Ergebnis erwartet (session zerstört und die Umleitung auf '/' )
Du musst angemeldet sein, um einen Kommentar abzugeben.
$scope.$apply
oderscope.$apply
Gehen Sie einfach mit:
Alternativ:
dem nicht speichern der aktuellen Webseite im browser-Sitzung Geschichte.