【问题标题】:How do i read a JSON sent by ajax in rails?我如何在rails中读取ajax发送的JSON?
【发布时间】:2016-09-29 15:45:32
【问题描述】:

我正在向我的 rails 应用程序发送一个 JS 数组:

$.ajax({
        url: "/backend/familles/change_order.js",
        contentType: 'json',
        type: "POST",
        data: JSON.stringify(sort_array)
      });

这是 firefox 如何查看 ajax POST :

但 params.inspect 只包含以下内容:

{"controller"=>"backend/familles", "action"=>"change_order", "locale"=>"fr"}

我应该改变什么才能读取 JSON 数据?

【问题讨论】:

    标签: jquery ruby-on-rails json ajax


    【解决方案1】:

    不需要显式地对你的数据对象进行字符串化,jQuery 会为你做到这一点!此外,您应该为要发送的数据添加一个键值。像这样的东西应该可以工作:

    data: {"sort_array": sort_array}
    

    【讨论】:

      【解决方案2】:

      你应该使用

      dataType: 'json'
      

      不是contentType

      编辑:

      我认为你不应该直接发送一个数组。试试:

      data: JSON.stringify({"items":sort_array})
      

      data: {"items": JSON.stringify(sort_array)}
      

      【讨论】:

      • 我这样做了,但它仍然不起作用。我还添加了 contentType: 'application/json'
      • 查看我的编辑。我认为该数组应该有一个“名称”
      • 我现在可以解析一个字符串,为我提供 JSON 数据。但是,我必须删除数据类型,因为如果定义,服务器返回的 js 视图不会被解释。 (一些 JS 代码)。
      猜你喜欢
      • 2013-11-03
      • 1970-01-01
      • 2016-12-10
      • 1970-01-01
      • 1970-01-01
      • 2018-07-01
      • 2013-04-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多