Estou usando a chamada ajax para executar a funcionalidade em um arquivo de serviço e, se a resposta for bem-sucedida, desejo redirecionar a página para outro URL. Atualmente, estou fazendo isso usando js simples "window.location = response ['message'];". Mas preciso substituí-lo pelo código angularjs. Eu olhei várias soluções no stackoverflow, eles usaram $ location. Mas eu sou novo no angular e tenho problemas para implementá-lo.
$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
fonte
fonte
Respostas:
Você pode usar Angular
$window
:Exemplo de uso em um contoller:
fonte
Você pode redirecionar para um novo URL de maneiras diferentes.
$location.path(YOUR_URL);
ou$location.url(YOUR_URL);
. Portanto, a diferença básica entre os 2 métodos é que$location.url()
também afeta os parâmetros get, enquanto$location.path()
não afeta .Eu recomendaria a leitura dos documentos
$location
e,$window
assim, você entenderá melhor as diferenças entre eles.fonte
$location.path('/configuration/streaming');
isso vai funcionar ... injetar o serviço de localização no controladorfonte
Usei o código abaixo para redirecionar para a nova página
e injetamos o objeto $ window na minha função de controlador.
fonte
Pode ajudá-lo!
O exemplo de código do AngularJs
fonte
No AngularJS, você pode redirecionar seu formulário (ao enviar) para outra página usando o
window.location.href='';
seguinte:Simplesmente tente o seguinte:
fonte
Também enfrentei problemas ao redirecionar para uma página diferente em um aplicativo angular
Você pode adicionar o
$window
que Ewald sugeriu em sua resposta ou, se você não quiser adicionar$window
, basta adicionar um tempo limite e ele funcionará!fonte
A maneira mais simples de usar é
fonte
Uma boa maneira de fazer isso é usar $ state.go ('statename', {params ...}) é mais rápido e mais amigável para a experiência do usuário, nos casos em que você não precisa recarregar e inicializar completamente toda a configuração do aplicativo
// rotas
fonte
fonte
Se você deseja usar um link, então: no html, tenha:
no arquivo datilografado
}
Espero que você veja este exemplo útil como foi para mim, juntamente com as outras respostas.
fonte
Usando
location.href="./index.html"
ou criar
scope $window
e usando
$window.location.href="./index.html"
fonte