0
当我使用.on('click')事件创建一个新按钮时,我有类似的代码工作,但我需要使用表单附带的按钮。我已经添加了这些行初始化:AJAX表单不提交Javascript数组
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(点击)以前附加到按钮上。它看起来类似:
$.ajax({
type: 'PUT',
url: 'custom_statuses/modify_statuses',
dataType: 'script',
data:
{
"create": _this.toBeCreated,
"update": _this.toBeUpdated,
"destroy": _this.toBeDeleted
}
});
我有一个类似的问题,使用JavaScript数组。如果你不隐式需要一个数组,我使用toSting()方法得到了很好的结果。 – Dan
您是否检查过XMLHttpRequest以确定它是否实际使用了PUT请求,因为您没有经常看到这些请求,尽管它们都受支持(在大多数浏览器中),但ajaxform插件可以将其定义为POST或GET内部? – adeneo
@ErmSo如果使用.toString(),则输出变为“”,而不是数组的最后一个元素X_X – Derek