1

我正在尝试在结帐过程的最终屏幕上显示订单摘要(在 Rails 3 中内置)。在此之前没有提交任何内容,所以我使用 jQueryserializeArray()从表单字段中获取所有名称和值,效果很好。我收集了各种嵌套属性,因此返回的数组相当繁忙,名称如order[donations_attributes][0][amount_in_dollars].

有没有一种简单的方法,在 Javascript(或使用 jQuery)中将这些名称和值转换为 JSON 字符串(这将使生成我的摘要输出变得更容易)。例如,类似:

{
  "order": {
    "donations_attributes": [
      {
        "amount_in_dollars": 50.95,
        "category": "Some Fund"
      },
      {
        "amount_in_dollars": 90.92,
        "category": "Some Other Fund"
      }
    ],
    "billing_address_attributes": {
      "first_name": "Bob",
      "last_name": "Smith",
      "address1": "123 Whatever Street",
      "and so on": "etc"
    }
  }
}

请记住,我还没有提交任何东西(我也不能),所以我不能在 Ruby 中提交。是否有一种明显、直接的方法可以做到这一点,还是我需要手动解析并构建字符串?

4

1 回答 1

1

您可以按原样将该数据传递给datain 的参数JQuery.ajax(...),它最终会出现在parama控制器方法和视图中,用于您调用的操作,例如params[:order][:donations_attributes][0][:category] == "Some Fund".

如果您想将新的 url 加载到浏览器中,您可以使用JQuery.serialize()数据并将其附加到您的 url(在两者之间使用 `"?" )以使用适当的查询字符串创建 URL。

于 2012-04-10T00:20:22.413 回答