Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

268
Vistas
Cómo obtener datos xhr en javascript

Soy un novato en javascript e hice este script que se ejecuta en la carga de la página:

 function checkItem(itemToCheck) { console.log(`Checking if ${itemToCheck} is checked`) var url = `https://list.s40.repl.co/api/get-status/${itemToCheck}`; var xhr = new XMLHttpRequest(); xhr.open("GET", url); xhr.setRequestHeader("Accept", "application/json"); xhr.onreadystatechange = function () { if (xhr.readyState === 4) { console.log(xhr.status); console.log(xhr.responseText); }}; xhr.send(); if (status === 200) { console.log("The request worked") if (response == `True`) { console.log(`${itemToCheck} is true`) var checkbox = document.getElementById(`${itemToToggle}-checkbox`) //Control the checkbox } } }

Nunca muestra el texto "La solicitud funcionó", y parece ser porque xhr.status y xhr.responseText están en blanco fuera de la función en la que se encuentran. No sé nada sobre javascript y no sé cómo arreglar este. Todo lo que quiero hacer es poder solicitar datos y luego hacer algo con ellos si es igual a verdadero. Por favor ayuda

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Obtengo xhr.status == 0 , lo que significa que la solicitud falló. Cuando ejecuto la solicitud a través del cartero, aparece un error de SSL (el certificado ha caducado). Probablemente por eso falla la solicitud.

Sin embargo, ejecutarlo con fetch no es un problema. Así que buscar parece omitir el error de SSL. Sin embargo, no parece haber una manera de hacer que XMLHttpRequest ignore este error de SSL.

 fetch(`https://list.s40.repl.co/api/get-status/2`) .then(res => res.text()) .then(console.log)

Le aconsejo que verifique si solo puede usar fetch para la tarea. Solo los navegadores muy antiguos no lo admiten: https://caniuse.com/fetch

Es de nivel superior y async por naturaleza. Por lo general, debe preferir el código async al síncrono al escribir para el navegador, ya que el código síncrono bloquea la ejecución rápidamente y ralentiza la aplicación del navegador o incluso hace que se congele.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda