2011-07-20 16 views
8

He realizado una solicitud de datos json post ajax y quiero acceder a esos datos en el controlador de rieles, así que ¿cómo puedo acceder a los datos?Acceso publicado datos json de ajax en controlador de rieles

Así es como he publicado los datos usando ajax

jQuery.ajax({ 
      url: 'main/getlocation', 
      data: "{latitude:" + latitude + ",longitude:" + longitude + "}", 
      dataType: 'json', 
      type: "POST", 
      success: function(data) { 
      alert("Successful"); 
      }, 
      failure: function() { 
      alert("Unsuccessful"); 
      } 
     }); 

¿Cómo puedo acceder a los datos de latitud y longitud desde el controlador rieles. No puedo acceder a los datos usando los parámetros normales [: latitud] y params [: longitud]. ¿Qué debería usar?

Respuesta

8

supongo que haya asignado longitud y latitud como variables la que se puede acceder en su petición Ajax. Si no es así, no obtendrás nada en el controlador. Asegúrese de que el alcance de las variables es correcto, entonces intente esto:

jQuery.ajax({ 
      url: 'main/getlocation', 
      data: "latitude=" + latitude + "&longitude=" + longitude, 
      type: "POST", 
      success: function(data) { 
      alert("Successful"); 
      }, 
      failure: function() { 
      alert("Unsuccessful"); 
      } 
     }); 

Ahora, supongo que se puede obtener los params [: longitud] y params [: latitud] en su controlador.

0

No necesita definir el tipo json en su solicitud de jjery ajax. utilizar por debajo de código Javascript en su

jQuery.ajax({ 
      url: 'main/getlocation', 
      data: {latitude:latitude,longitude:longitude}, 
      type: "POST", 
      success: function(data) { 
      alert("Successful"); 
      }, 
      failure: function() { 
      alert("Unsuccessful"); 
      } 
     }); 

y ahora tratan

params[:latitude] and params[:longitude] in your controller. 
Cuestiones relacionadas