Boa noite, fiz todos os procedimentos e quando coloco para enviar o video ele completa o processo e retorna concluído, porém, ao retornar a lista de videos o mesmo não aparece e nem a descrição e o nome. No lugar apenas as escritas "cannot GET / undefined". Detalhe, a lista db.json as informações náo aparecem e ficam vazias.
db.jason
{ "titulo": "Dark Patterns #AluraMais", "descricao": "2 mil visualizações", "url": "https://www.youtube.com/embed/nIN8J_bIZO8?feature=share", "imagem": "https://purr.objects-us-east-1.dream.io/i/OoNx6.jpg", "id": 13 }, { "id": 14 }, { "id": 15 }, { "id": 16 }, { "id": 17 }, { "id": 18 } ] }
mostrarVideos.js
import { conectaApi } from "./conectaApi.js";
const lista = document.querySelector("[data-lista]");
function constroiCard(titulo, descricao, url, imagem){ const video = document.createElement("li"); video.className = "videos__item"; video.innerHTML = `
${titulo}
${descricao}
return video
}
async function listaVideo() { const listaApi = await conectaApi.listaVideos(); listaApi.forEach(elemento => lista.appendChild(constroiCard( elemento.titulo, elemento.descricao, elemento.url, elemento.imagem))) }
listaVideo();
conectaApi.js
async function listaVideos(){ const conexao = await fetch("http://localhost:3000/videos"); const conexaoConvertida = await conexao.json();
return conexaoConvertida;
}
async function criaVideo(titulo, descricao, url, imagem) {
const conexao = await fetch("http://localhost:3000/videos", {
method: "Post",
headers: {
"Content-type": "aplication/json"
},
body: JSON.stringify({
titulo: titulo,
descricao: ${descricao} mil visualizações
,
url: url,
imagem: imagem
})
});
const conexaoConvertida = await conexao.json();
return conexaoConvertida;
}
export const conectaApi = { listaVideos, criaVideo }
criarVideos.js
import { conectaApi } from "./conectaApi.js"; const formulario = document.querySelector("[data-formulario]");
async function criarVideo(evento) { evento.preventDefault();
const imagem = document.querySelector("[data-imagem").value;
const url = document.querySelector("[data-url").value;
const titulo = document.querySelector("[data-titulo").value;
const descricao = Math.floor(Math.random() * 10).toString();
await conectaApi.criaVideo(titulo, descricao, url, imagem);
window.location.href = "../pages/envio-concluido.html";
}
formulario.addEventListener("submit", evento => criarVideo(evento));