Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Bug] LocalHost conexão recusada e Falha no Fetch

ocorreram dois erros durante a aula 3 :

cliente-service.js:9

POST http://localhost:3000/profile net::ERR_CONNECTION_REFUSED

cliente-service.js:9

   Uncaught (in promise) TypeError: Failed to fetch
at Object.criaCliente (cliente-service.js:9:12)
at HTMLFormElement.<anonymous> (cadastraClientes-controler.js:12:20)

códigos do cliente service:

const listaClientes =  () => {
    return fetch(`http://localhost:3000/profile`)
    .then( resposta => {
        return resposta.json()
    });
};

const criaCliente = (nome, email) =>{
    return fetch(`http://localhost:3000/profile`, {
        method: 'POST',
        headers:{
            'Content-Type' : 'application/json'
        },
        body: JSON.stringify({
          nome: nome,
          email: email  
        })

    
    })   
    .then(resposta => {
            return resposta.body
        })
    }

export const clienteService = {
    listaClientes,
    criaCliente
};

código do cadastraCliente:

import { clienteService } from "../service/cliente-service.js";

const formulario = document.querySelector('[data-form]');

formulario.addEventListener('submit', (evento) => {

    evento.preventDefault();

    const nome = evento.target.querySelector('[data-nome]').value;
    const email = evento.target.querySelector('[data-email]').value;

    clienteService.criaCliente(nome, email)
    .then( () => {
        window.location.href = '../telas/cadastro_concluido.html';
    });
});

NOTA: consegui resolver refazendo o processo de conectar a pasta admin a API, porém ainda gostaria que alguém me explicasse o por quê disso, isso ocorreu após eu desligar o computador depois de uma aula, então acredito que o processo foi interrompido devido ao desligamento.

1 resposta
solução!

Oii Henry, tudo bem?

Os erros que você mencionou:

POST http://localhost:3000/profile net::ERR_CONNECTION_REFUSED
Uncaught (in promise) TypeError: Failed to fetch

São causados quando o servidor não tá rodando ou não está disponível no momento em que você tenta fazer a requisição. No seu caso, o servidor deveria estar rodando no localhost na porta 3000.

Quando você desligou o computador, o servidor foi desligado também. Quando você tentou fazer a requisição POST depois de ligar o computador novamente, o servidor ainda não estava rodando, então a conexão foi recusada e a requisição fetch falhou.

Um abraço e bons estudos.