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

196
Vistas
¿Cómo reescribir la solicitud AJAX de Vanilla JS a JQuery?

Actualmente estoy estudiando JS y estoy bastante familiarizado con Vanilla JS, pero la sintaxis de JQuery me parece un poco extraña. Así que tengo el siguiente código en JS y funciona bien:

 let xhttp = new XMLHttpRequest(); xhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { questions = JSON.parse(this.responseText); loadQuestionsData(); } }; xhttp.open("GET", "http://localhost:8080/questions", true); xhttp.send();

Aquí creo un nuevo XMLHttpRequest para mi localhost y obtengo JSON de preguntas y cuando la respuesta está lista, se ejecuta la función loadQuestionsData() (inserta la lista de preguntas en la tabla). Intenté reescribir esto con JQuery, pero no funciona y no entiendo por qué. Aquí está mi enésimo intento de hacer esto:

 $(document).on('readystatechange', function() { $.ajax({ url: "http://localhost:8080/questions", type: 'GET', success: function() { questions = JSON.parse(this.responseText); loadQuestionsData(); } }) })

También he intentado lo siguiente, pero tampoco funciona:

 $(document).on('readystatechange', function() { questions = JSON.parse($.ajax({ url: "http://localhost:8080/questions", type: 'GET', })).responseText; })

Supongo que el problema es con la sintaxis? El código deja de ejecutarse en responseText .

about 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

El objeto del documento no tiene un evento onreadystatechange ; eso es parte del objeto XHR. Los métodos jQuery AJAX manejarán los cambios de estado por usted (parte de su simplicidad).

Además, el controlador de éxito tiene un parámetro que es el texto de respuesta, por lo que debe agregarlo a la firma de la función para poder acceder a él en la función.

Cámbialo a esto en su lugar...

 $.ajax({ url: "http://localhost:8080/questions", type: 'GET', success: function(responseText) { questions = JSON.parse(responseText); loadQuestionsData(); } })
about 4 years ago · Santiago Trujillo Denunciar

0

No es necesario utilizar:

 $(document).on('readystatechange', function() { });

como readystatechange es una propiedad de XmlHttpRequest();

simplemente cambie su código a:

 $.ajax({ url: "http://localhost:8080/questions", type: 'GET', success: function() { questions = JSON.parse(this.responseText); loadQuestionsData(); } });
about 4 years ago · Santiago Trujillo 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