Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

212
Visualizações
Obtener API cuando se activa el evento onClick

Estoy luchando con un problema (probablemente bastante simple) de HTML y JavaScript. Y como no soy mucho de frontend, espero que haya alguien por aquí que pueda ayudarme.

Tarea : un amigo con un sitio web, que se ha creado en Wordpress usando el tema Thrive, me pidió que escribiera un código JavaScript que llama a una API cada vez que se presiona un botón específico. Thrive permite inyectar código personalizado en el pie de página, así que creé una función para llamar a la API y configurarla como onclick en la etiqueta <a> del botón.

Código simplificado:

 async function dummy() { var myHeaders = new Headers(); myHeaders.append("Content-Type", "text/plain"); var requestOptions = { method: "POST", headers: myHeaders, body: JSON.stringify({}), redirect: "follow", }; return fetch("some.api.com", requestOptions); } document.getElementById("button1").onclick = async function () { var res = await dummy(); return res.ok; };

Problema : si bien esto funciona sin problemas en Chrome, Safari y los navegadores móviles tienen problemas. Safari produce la mayor parte del tiempo la siguiente excepción: Unhandled Promise Rejection: TypeError: Load failed . Jugué un poco con los await y en algún momento pude hacerlo funcionar de vez en cuando, pero nunca de manera constante.

Por favor, ¿podría decirme lo que estoy supervisando?

PD: Soy consciente de que esto de ninguna manera es seguro y definitivamente no está listo para la producción. Esto está destinado a ser utilizado únicamente con fines de demostración, por lo tanto, la forma rápida y sucia.

about 4 years ago · Santiago Gelvez
1 Respostas
Responde à pergunta

0

 function dummy() { return new Promise((resolve, reject) => { var myHeaders = new Headers(); myHeaders.append("Content-Type", "application/json"); var requestOptions = { method: "GET", headers: myHeaders, body: JSON.stringify({}), }; fetch('https://jsonplaceholder.typicode.com/todos/1') .then(response => response.json()) .then(data => { resolve(data); }) .catch((error) => { reject(error); }); }) } const main = async()=>{ console.log(await dummy()); console.log("foo bar") } main();

about 4 years ago · Santiago Gelvez Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda