0

当我创建一个带有 .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
            }
        });
4

1 回答 1

0

找到了答案。我需要在数据块中包含括号:

"create[]": _this.toBeCreated,
"update[]": _this.toBeUpdated,
"destroy[]": _this.toBeDeleted

我不知道如何指示数组数组。更新是一个数组数组。“更新[[]]”不起作用。

于 2012-11-01T18:20:15.977 回答