我有一个使用 Rails UJS 以 remote=true 提交的表单。
在 beforeSend 事件中我想追加数据。我正在尝试以下内容:
onNewListItemFormBeforeSend : function(event, xhr, settings) {
settings.data += { 'list_item[title]' : input_val,
'list_item[position]' : 0,
'list_items[open_positions]' : 'stuff',
'list_items[done_positions]' : 'stuff' )
};
}
但是这是在我注销 settings.data 时添加一个对象......将这些项目附加到 settings.data 的正确方法是什么?
谢谢
更新
我也试过这样做:
settings.data = { 'number' : 'XXXXXX' }
但这没有用。在我看到的日志中:
Started POST "/lists/9/list_items" for 127.0.0.1 at 2011-10-24 11:55:39 -0700
Processing by ListItemsController#create as JSON
Parameters: {"object Object"=>nil, "list_id"=>"9"}
为什么object对象为nil?
谢谢
最佳答案
如果您使用的是较新版本的jquery_ujs
,您应该能够使用data-params
(如果此时您能够这样做) .否则,您可以绑定(bind)到 ajax:before
并在那一点修改数据。我会自己学习 data-params
。
下面是同一问题的更多细节:
关于javascript - 如何在发送前将数据附加到 XHR 请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7880221/