3
我已經成功發佈了一個數組,但我無法弄清楚如何在AJAX文章中發送多個數組。這裏是我的一個陣列碼:jQuery AJAX與多個數組數據參數
var a = new Array();
// fill array
var a_post = {};
a_post['array1[]'] = a;
$.ajax({
url: "submitOrder.php",
data: a_post,
type: 'post',
success: function(data) {
alert(data);
}
});
而在submitOrder.php我:
$array1= $_POST['array1'];
foreach ($array1 as $a => $b)
echo "$array1[$a] <br />";
這工作得很好。但是,當我嘗試將第二個數組b_post
添加到data:
字段時,它不起作用。我試過data: {a_post, b_post},
及其中的一些變化,但我無法讓它正常工作。雖然我在這,但是如何在發佈後加載submitOrder.php
而不是顯示數據警報?
UPDATE
使用Nicolas的建議下,我得到這個工作改變數據字段:
data: {'array1':JSON.stringify(a), 'array2':JSON.stringify(b)},
不過,我還需要補充一點,一直表單數據的其餘部分由用戶輸入。我可以通過$(this).serialize()
獲得這些數據,但是如果我嘗試將其添加到data
字段中,則不起作用。我如何將這些數據添加到上面的行?
謝謝。
SOLUTION
什麼結束了工作,我原本希望爲的方式(與尼古拉斯的幫助下):
var formData = $(this).serializeArray();
var a_string = JSON.stringify(a);
formData.push({name: 'array1', value: a_string});
var b_string = JSON.stringify(b);
formData.push({name: 'array2', value: b_string});
$.ajax({
url: "submitOrder.php",
data: formData,
type: 'post',
success: function(data) {
alert(data);
}
});
這很適合我的目的,但我也想包括我的標準表單數據。最簡單的方法是將'$(this).serialize()'添加到數據字段,但這是不允許的。我怎麼能也包含表單中的其他輸入數據? –
添加了您向 –
詢問的問題。謝謝。我已經用完整的解決方案更新了我的問題。 –