"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como lidar com os redirecionamentos após o login com a API de busca de JavaScript?

Como lidar com os redirecionamentos após o login com a API de busca de JavaScript?

Postado em 2025-02-06
Navegar:229

How to Handle Redirects After Login with JavaScript Fetch API?

como redirecionar o usuário para outra página após o login usando javascript busca api?

ao usar a função busca () para executar uma solicitação de postagem para um servidor que responde Com uma resposta do redirectretral, o redirecionamento será seguido automaticamente no lado do cliente. Isso ocorre porque o modo de redirecionamento está definido para seguir por padrão na função fetch (). Como resultado, o usuário não será redirecionado para o novo URL, mas o busca () seguirá esse redirecionamento nos bastidores e retornará a resposta do URL de redirecionamento.

para superar isso, você pode verificar se A resposta é o resultado de uma solicitação que você fez que foi redirecionado. Nesse caso, você pode recuperar a propriedade URL da resposta, que retornará o URL final obtido ** depois de ** qualquer redirecionamento e, usando a janela de JavaScript.Location.href, você pode redirecionar o usuário para o URL de destino (ou seja, o Redirecionar página). Em vez de window.location.href, também é possível usar window.location.replace (). A diferença de definir o valor da propriedade HREF é que, ao usar o método Location.Rusplace (), depois de navegar para o URL especificado, a página atual não será salva no histórico da sessão - significando que o usuário não poderá usar o traseiro Botão para navegar para ele. E.PreventDefault (); // Cancelar a ação padrão var formElement = document.getElementById ("myform"); var dados = new FormData (formElement); Fetch ("http: // my -erver/login", { Método: "post", Redirecionar: "siga", // altere para "manual" se você quiser lidar com os redirecionamentos manualmente corpo: dados, }) .then ((res) => { if (res.Redirected) { window.Location.href = res.url; // ou, location.replace (res.url); retornar; } outro { return res.text (); } }) .then ((dados) => { document.getElementById ("Response"). Innerhtml = Data; }) .catch ((erro) => { console.error (erro); }); });

Nota: Se você estiver usando uma solicitação de origem cruzada, precisará definir o cabeçalho de resposta do Access-Control-Expose-Headers no lado do servidor para incluir o local cabeçalho. Isso ocorre porque apenas os cabeçalhos de resposta para os cors-seguintes são expostos por padrão.

Declaração de lançamento Este artigo é reproduzido em: 1729207339 Se houver alguma violação, entre em contato com [email protected] para excluí -lo.
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3