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

195
Visualizações
¿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 Respostas
Responde à pergunta

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 Relatório

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 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