访问从rails控制器中的ajax发布的json数据

我已经为json数据发出了ajax post请求,我想在rails控制器中访问该数据,以便如何访问数据。

这是我使用ajax发布数据的方式

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

如何从rails控制器访问纬度和经度数据。 我无法使用普通参数[:latitude]和params [:longitude]访问数据。 我该怎么用?

我猜你已经将经度和纬度分配为可由ajax请求访问的变量。 如果不是你不会在控制器中得到任何东西。 确保变量范围正确,然后尝试:

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

现在,我想你可以在你的控制器中得到params [:longitude]和params [:latitude]。

您不需要在jquery ajax post请求中定义类型json。 在你的javascript中使用以下代码

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

现在试试

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