【问题标题】:Access posted json data from ajax in rails controller从rails控制器中的ajax访问发布的json数据
【发布时间】:2011-07-20 13:27:11
【问题描述】:

我已经对 json 数据进行了 ajax 发布请求,我想在 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 控制器访问纬度和经度数据。我无法使用正常的 params[:latitude] 和 params[:longitude] 访问数据。我应该使用什么?

【问题讨论】:

    标签: javascript jquery ruby-on-rails json


    【解决方案1】:

    我猜您已将经度和纬度指定为可通过 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]。

    【讨论】:

      【解决方案2】:

      您不需要在您的 jquery ajax 发布请求中定义类型 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.
      

      【讨论】:

        猜你喜欢
        • 2023-04-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-08-25
        • 1970-01-01
        • 1970-01-01
        • 2014-01-22
        • 2021-10-08
        相关资源
        最近更新 更多