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

490
Visualizações
Solicitud de jQuery ajax: ¿cómo acceder a los datos enviados en la función de éxito?

Así que estoy tratando de lograr lo siguiente, pero no puedo encontrar la manera de hacer que esto funcione.

 $.ajax({ url: "whatever.php", method: "POST", data: { myVar: "hello" }, success: function(response) { console.log('received this response: '+response); console.log('the value of myVar was: '+data.myVar); // <<<< data.myVar is not accessible from here console.log('the value of myVar was: '+myVar); // <<<< myVar is not accessible from here } });

¿Hay alguna forma de acceder al valor de myVar en la función .success() ? ¿Puedo llegar de alguna manera al objeto data original que se envió en esta solicitud ajax, en la función .success() ?

Esperando sus soluciones. ¡Gracias!

over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

Puede usar this para acceder a todo el objeto. Así que puedes hacer algo como esto:

 $.ajax({ url: "whatever.php", method: "POST", data: { myVar: "hello" }, success: function(response) { console.log('received this response: '+response); console.log('the value of myVar was: '+this.data.myVar); } });
over 4 years ago · Santiago Trujillo Relatório

0

Todas las demás respuestas, excepto la de Piyin, no son confiables y son una mala práctica.

Las solicitudes AJAX son, por su propia naturaleza, asincrónicas. Eso significa que para cuando la respuesta regrese del servidor, la variable que establecieron puede haber cambiado. Si desea un ejemplo, solo haga dos botones que activen el mismo código, pero establezca myData en un valor diferente, y haga clic en cada uno de ellos rápidamente antes de que la respuesta regrese ... ahora la variable ha cambiado y no será confiable. resultados.

La respuesta de Piyin también es buena, pero a veces obtienes diferentes formatos de los datos enviados. Puede ser un objeto JSON que ha sido stringify , puede estar en formato GET con cadenas de consulta, etc.

La forma más fácil en el codificador (aunque crea un poco más de sobrecarga en la RAM) es asignar una nueva propiedad del objeto AJAX y acceder a ella en la devolución de llamada, así (usando el ejemplo de Piyin):

 var dataToSend = { myVar: "hello" }; $.ajax({ url: "whatever.php", method: "POST", data: dataToSend, sentData: dataToSend, //add this property success: function(response) { console.log('received this response: ' + response); console.log('the value of myVar was: '+ this.sentData.myVar); //access sentData property } });
over 4 years ago · Santiago Trujillo Relatório

0

Simplemente almacene los datos que está publicando en una variable primero.

 var data = {myVar: "hello"} $.ajax({ url: "whatever.php", method: "POST", data: data, success: function(response) { console.log('received this response: '+response); console.log('the value of myVar was: '+data.myVar); } });
over 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