当我创建一个带有 .on('click') 事件的新按钮时,我有类似的代码工作,但我需要使用表单附带的按钮。我已将这些行添加到初始化程序中:
var options =
{
data:
{
"create": _this.toBeCreated,
"update": _this.toBeUpdated,
"destroy": _this.toBeDeleted
},
dataType: 'script',
type: 'PUT',
url: 'custom_statuses/modify_statuses'
};
$(_this.delegator.$target.find(".UIForm")[0]).ajaxForm(options);
此代码半有效,因为如果我将硬编码值插入数据中,我会在 AJAX 调用中返回它们。
但是,当我尝试使用这些 Javascript 数组(我确认它们不是空的)时,只有最后一个元素会通过 AJAX 推出。
例如:
toBeDeleted = [1,5,9,7];
应该返回:
"delete": [1,5,9,7]
实际上返回:
"delete": "7"
我不知道出了什么问题,但同样,这段代码之前使用的是附加到按钮的 .on(click) 。它看起来很相似:
$.ajax({
type: 'PUT',
url: 'custom_statuses/modify_statuses',
dataType: 'script',
data:
{
"create": _this.toBeCreated,
"update": _this.toBeUpdated,
"destroy": _this.toBeDeleted
}
});