Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

480
Views
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 answers
Answer question

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 Report

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!