conectaApi.js:16 Uncaught (in promise) TypeError: JSON.strigify is not a function at Object.criaVideo (conectaApi.js:16:20) at criarVideo (criarVideo.js:13:22) at HTMLFormElement. (criarVideo.js:20:49)
função conectaApi
async function listaVideos () {
const conexao = await fetch ("http://localhost:3000/videos");
const conexaoConvertida = await conexao.json(); //constante que armazena o array e o converte, com o json(), para um novo array que sera posteriormente exibido na tela
return conexaoConvertida;
}
async function criaVideo(titulo, descricao, url, imagem) {
const conexao = await fetch("http://localhost:3000/videos", {
method: "POST",
headers: {
"content-type": "application/json" //estamos especificando o tipo de conteúdo que esta sendo enviado.
},
body: JSON.strigify({
titulo: titulo,
descricao: `${descricao} mil visualizações`,
url: url,
imagem: imagem
//aqui estamos enviando o corpo da requisição (o body) e dentro das chaves estamos enviando um objeto
})
});
//para se fazer outro tipo de requisição, o post, temos que que colocar entre chaves e fazer todas as configurações entre as chaves.
const conexaoConvertida = await conexao.json();
return conexaoConvertida;
}
export const conectaApi = {
listaVideos,
criaVideo
}
função criarvideo
import { conectaApi } from "./conectaApi.js";
const formulario = document.querySelector("[data-formulario]");
async function criarVideo(evento) {
evento.preventDefault(); //impede o carregamento da pag quando se clicar no submit
const imagem = document.querySelector("[data-imagem]").value;
const url = document.querySelector("[data-url]").value;
const titulo = document.querySelector("[data-titulo]").value;
//atribuimos o data atributes as variaveis e com o ".value" vamos pegar o valor que sera digitado dentro do campo. Esse valor será atraibuido à variável.
const descricao = Math.floor(Math.random()* 10).toString(); //gera um aleatorio, o mathfloor pega o menor numeuro, depois transfrmar-lo em string para passar para ".. visualizações"
await conectaApi.criaVideo(titulo, descricao, url, imagem);
//caso o envio seja feito com sucesso, redirecioaremos a pag:
window.location.href = "../pages/envio-concluido.html";
}
//agora é preciso captar esses valores quando clicarmos no botão "enviar" a fim de enviar esses valores para o formulario e, assim, criando nosso novo video.
formulario.addEventListener("submit", evento => criarVideo(evento));