Javascript 使用jQuery';使用Rails表单序列化数组
我试图在结帐过程的最后一个屏幕上显示订单摘要(内置于Rails 3中)。在此之前没有提交任何内容,因此我使用jQuery的Javascript 使用jQuery';使用Rails表单序列化数组,javascript,jquery,ruby-on-rails-3,json,Javascript,Jquery,Ruby On Rails 3,Json,我试图在结帐过程的最后一个屏幕上显示订单摘要(内置于Rails 3中)。在此之前没有提交任何内容,因此我使用jQuery的serializeArray()从表单字段中获取所有名称和值,效果非常好。我收集了各种嵌套属性,因此返回的数组非常繁忙,名称有order[investments\u attributes][0][amount\u in\u美圆] 是否有一种简单的方法,用Javascript(或使用jQuery)将这些名称和值转换为JSON字符串(这将使生成摘要输出更加容易)。例如,类似于:
serializeArray()
从表单字段中获取所有名称和值,效果非常好。我收集了各种嵌套属性,因此返回的数组非常繁忙,名称有order[investments\u attributes][0][amount\u in\u美圆]
是否有一种简单的方法,用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中完成。有没有一种明显、直接的方法可以做到这一点,或者我需要手工解析并构建字符串?您可以将该数据原样传递给
JQuery.ajax(…)
中的data
参数,它最终会出现在您调用的操作的控制器方法和视图中的parama
,例如params[:order][:捐赠\u属性][0][:类别]==“一些基金”
如果要将新url加载到浏览器中,可以对数据使用
JQuery.serialize()
,并将其附加到url(中间有一个“?”),以创建具有适当查询字符串的url。可以将该数据原样传递到JQuery.ajax(…)中的数据
参数
,它将在您调用的操作的控制器方法和视图中的parama
中结束。例如params[:order][:investments\u attributes][0][:category]==“Some Fund”
如果要将新url加载到浏览器中,可以对数据使用
JQuery.serialize()
,并将其附加到url(中间有一个“?”),以创建具有适当查询字符串的url。感谢您的回答,但在阅读JQuery.ajax()之后
,我不清楚这如何在不提交的情况下得到我正在寻找的JSON字符串。(如果有帮助,我将使用mustache.js生成订单摘要。这一切都必须在不向服务器发出请求的情况下完成。)感谢您的回答,但在阅读了jQuery.ajax()之后
,我不清楚这如何在不提交的情况下获得我正在寻找的JSON字符串。(如果有帮助,我将使用mustache.js生成订单摘要。这一切都必须在不向服务器发出请求的情况下完成。)