Używam wywołania ajax do wykonywania funkcji w pliku usługi i jeśli odpowiedź się powiedzie, chcę przekierować stronę do innego adresu URL. Obecnie robię to za pomocą prostego js "window.location = response ['message'];". Ale muszę go zastąpić kodem angularjs. Szukałem różnych rozwiązań na stackoverflow, używali $ location. Ale jestem nowy w kątowym i mam problem z jego wdrożeniem.
$http({
url: RootURL+'app-code/common.service.php',
method: "POST",
headers: {'Content-Type': 'application/x-www-form-urlencoded'},
dataType: 'json',
data:data + '&method=signin'
}).success(function (response) {
console.log(response);
if (response['code'] == '420') {
$scope.message = response['message'];
$scope.loginPassword = '';
}
else if (response['code'] != '200'){
$scope.message = response['message'];
$scope.loginPassword = '';
}
else {
window.location = response['message'];
}
// $scope.users = data.users; // assign $scope.persons here as promise is resolved here
})
javascript
angularjs
Farjad Hasan
źródło
źródło
Odpowiedzi:
Możesz użyć Angular
$window
:Przykładowe użycie w kontrolerze:
źródło
Możesz przekierować do nowego adresu URL na różne sposoby.
$location.path(YOUR_URL);
lub$location.url(YOUR_URL);
. Tak więc podstawowa różnica między tymi dwiema metodami polega na tym, że$location.url()
wpływa ona również na parametry get, podczas gdy$location.path()
nie.Poleciłbym przeczytanie dokumentów dalej
$location
i$window
dzięki temu lepiej zrozumiesz różnice między nimi.źródło
$location.path('/configuration/streaming');
to zadziała ... wstrzyknij usługę lokalizacji do kontroleraźródło
Użyłem poniższego kodu, aby przekierować na nową stronę
i wstrzyknąłem obiekt $ window do mojej funkcji kontrolera.
źródło
To może ci pomóc !!
Przykład kodu AngularJs
źródło
W AngularJS możesz przekierować swój formularz (po przesłaniu) na inną stronę, używając
window.location.href='';
poniższego:Po prostu spróbuj tego:
źródło
Napotkałem problemy z przekierowaniem na inną stronę w aplikacji kątowej
Możesz dodać tak,
$window
jak zasugerował Ewald w swojej odpowiedzi, lub jeśli nie chcesz dodawać$window
, po prostu dodaj limit czasu i zadziała!źródło
Używam prostego sposobu
źródło
Dobrym sposobem na zrobienie tego jest użycie $ state.go ('statename', {params ...}) jest szybsze i bardziej przyjazne dla użytkownika w przypadkach, gdy nie musisz przeładowywać i ładować całej konfiguracji aplikacji i innych rzeczy
// trasy
źródło
źródło
Jeśli chcesz skorzystać z linku to: w html masz:
w pliku maszynopisu
}
Mam nadzieję, że ten przykład okaże się pomocny, ponieważ był dla mnie wraz z innymi odpowiedziami.
źródło
Za pomocą
location.href="./index.html"
lub stwórz
scope $window
i używając
$window.location.href="./index.html"
źródło