【问题标题】:How do you access data in a Ruby on Rails controller that is POSTed via an AJAX request?如何访问通过 AJAX 请求发布的 Ruby on Rails 控制器中的数据?
【发布时间】:2023-04-08 17:28:01
【问题描述】:

我正在发送一个 AJAX 请求并将一些 json 数据发布到服务器。如何在我的控制器中访问这些数据(我使用的是 Ruby on Rails)。

【问题讨论】:

    标签: jquery ruby-on-rails ruby ajax ruby-on-rails-3


    【解决方案1】:

    应该是微不足道的:

    data = ActiveSupport::JSON::decode(params[:param_with_json_string])
    

    【讨论】:

      【解决方案2】:

      如果您将发布请求的 Content-Type 设置为 application/json,那么 Rails 会为您处理事情,并像往常一样在 params 哈希中提供数据。

      使用 jQuery 的示例:

      $.ajax({
        url:'/some_url', 
        data: {user: {name:"Bob", email: "bob@example.com"}}, 
        dataType: 'json',
        type: 'POST'
      });
      

      【讨论】:

        【解决方案3】:

        通过 params 哈希访问参数。应该不需要解码 JSON。 Rails 应该为您将其转换为哈希。

        【讨论】:

          猜你喜欢
          • 2012-05-24
          • 1970-01-01
          • 2012-07-19
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多