ineedmny
Mitglied
Hallo Zusammen,
ich bin mittlerweile auf die Möglichkeit gestoßen, dass es "rules" für eine bedingte Weiterleitung im UI-Router von Angular gibt.
Die Weiterleitung hab ich soweit hinbekommen...
...aber die Bedingung dafür funktioniert nicht richtig...
So sieht die Funktion "AjaxSend" aus:
Der Ajax-Request (UserGetOnlineStatus) schaut, ob die Session-Variable des Users existiert und gibt folgendes zurück:
result = 0 (Offline) ODER Die User-ID (Online)
Das funktioniert auch soweit. Auch das Ergebnis kommt an, aber aus irgendeinem Grund, leitet der Router nicht auf die Seite "/home" weiter - obwohl die "0" tatsächlich ankommt :-/
Ich steh auf dem Schlauch. Verwende ich die Funktion vielleicht sogar falsch?
Vielen Dank schonmal!
ich bin mittlerweile auf die Möglichkeit gestoßen, dass es "rules" für eine bedingte Weiterleitung im UI-Router von Angular gibt.
Die Weiterleitung hab ich soweit hinbekommen...
Code:
$urlRouterProvider.rule(
function ($injector, $location) {
var path = $location.url();
if(path == "/abmelden") {
$location.replace().path('/home');
}
});
...aber die Bedingung dafür funktioniert nicht richtig...
Code:
$urlRouterProvider.rule(
function ($injector, $location) {
var path = $location.url();
if(path == "/abmelden")
{
AjaxData = 'data=UserGetOnlineStatus;';
AjaxSend(function(result) {
if(result == 0)
{
$location.replace().path('/home');
}
});
}
});
So sieht die Funktion "AjaxSend" aus:
Code:
function AjaxSend(callback)
{
jQuery.ajax({
type: "POST",
url: "response.php",
dataType: "text",
data: AjaxData,
success: callback,
error: function (xhr, ajaxOptions, thrownError){
console.log('Error: ' + thrownError);
}
});
}
Der Ajax-Request (UserGetOnlineStatus) schaut, ob die Session-Variable des Users existiert und gibt folgendes zurück:
result = 0 (Offline) ODER Die User-ID (Online)
Das funktioniert auch soweit. Auch das Ergebnis kommt an, aber aus irgendeinem Grund, leitet der Router nicht auf die Seite "/home" weiter - obwohl die "0" tatsächlich ankommt :-/
Ich steh auf dem Schlauch. Verwende ich die Funktion vielleicht sogar falsch?
Vielen Dank schonmal!