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