3
respostas

Problemas para redirecionar para outra página

Não estou conseguindo redirecionar para a outra página do formulário(a de reconhecimento facial), quando clico no botão, as informações vão pro armazenamento da api fake, mas não direciona para outra página. Link do projeto: https://github.com/claramamute/Form-valida-o ,link da fake API: https://github.com/claramamute/Form-valida-o

3 respostas

Oi Clara, tudo bem?

O problema que você está enfrentando pode estar relacionado ao envio dos dados para a API.

Por favor, verifique se o arquivo "script.json" está corretamente apontando para o caminho do arquivo para abrir a conta. O código que você deve procurar é o seguinte:

window.location.href = './abrir-conta-form-2.html';

Além disso, recomendo que abra o projeto com o Live Server ao cadastrar o usuário. Isso pode ajudar a garantir que tudo funcione corretamente.

Caso o problema persista, fico à disposição.

Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

Opa! Ainda não consegui resolver...Quero que, quando eu clicar em "avançar" , os dados do form vão para o json e vá para a outra página. Entretando, só a parte de armazenar os dados do json funciona, e a de redirecionar para a outra página, não.

Oi Clara, tudo bem?

Desde já peço desculpas pela demora em obter retorno.

Consegui identificar o erro que está gerando esse comportamento. Note que no arquivo "armazena.js" a função criarCadastro() já é uma funçao assíncrona. Portanto, não é necessário colocar o async/await no trecho de código que utiliza essa função no arquivo "script.js". Pois isso leva a um erro, onde temos uma função assíncrona dentro de uma função assíncrona.

Você deverá removê-lo o código abaixo em script.js

await conectaApi.criarCadastro(listaRespostas['nome'], listaRespostas['email'], listaRespostas['rg'], listaRespostas['cpf'], listaRespostas['aniversario']);

Como alternativa, você pode utilizar o seguinte código:

form.addEventListener('submit',function criarCadastro(e) {
    e.preventDefault();

    const listaRespostas = {
        'nome': e.target.elements['nome'].value,
        'email': e.target.elements['email'].value,
        'rg': e.target.elements['rg'].value,
        'cpf': e.target.elements['cpf'].value,
        'aniversario': e.target.elements['aniversario'].value
    }

  conectaApi.criarCadastro(listaRespostas['nome'], listaRespostas['email'], listaRespostas['rg'], listaRespostas['cpf'], listaRespostas['aniversario']);

    window.location.href = './abrir-conta-form-2.html';
})

Espero ter ajudado.

Qualquer dúvida, compartilhe no fórum.

Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!