jQuery AJAX avec de Multiples données du Tableau de Paramètres

J'ai réussi a posté un seul tableau, mais je ne peux pas comprendre comment faire plus d'un tableau dans un AJAX post. Voici mon code pour un tableau:

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);
    }
});

Et dans submitOrder.php j'ai:

$array1= $_POST['array1'];

foreach ($array1 as $a => $b)
echo "$array1[$a] <br />";

Cela fonctionne bien. Cependant, lorsque j'essaie d'ajouter un second tableau b_post à la data: champ, il ne fonctionne pas. J'ai essayé data: {a_post, b_post}, et quelques variantes, mais je ne peux pas le faire fonctionner correctement. Pendant que j'y suis, comment pourrais-je alors charger submitOrder.php après la publication plutôt que d'afficher un message d'alerte des données?

Mise à JOUR

L'aide de Nicolas, suggestion, j'ai eu ce travail de modification du champ de données:

data: {'array1':JSON.stringify(a), 'array2':JSON.stringify(b)},

Cependant, j'ai aussi besoin d'ajouter le reste de la forme des données qui ont été entrées par l'utilisateur. Je peux obtenir ces données avec $(this).serialize() mais si j'essaie de l'ajouter à la data champ, il ne fonctionne pas. Comment puis-je ajouter ces données à la ligne ci-dessus?

Grâce.

SOLUTION

Ce qui finit sur le même chemin que j'avais initialement espéré (avec Nicolas de l'aide):

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);
    }
});            

OriginalL'auteur Kevin_TA | 2012-06-04