2010-01-14 6 views
4

Voici mon tableau:

arr[0]='A'; 
arr[1]='B'; 
.... 

J'ai essayé de le poster de cette façon:

$.post('data.php',arr,function() { 

}); 

Mais ne fonctionne pas comme prévu.

Répondre

0

Vous ne pouvez pas publier de tableau. Qu'est-ce que vous avez besoin est un hachage:

parameters = { "Param1" : "A", "Param2" : "B" }; 

Choisissez un nom approprié et convertir votre tableau à un hachage:

hash = {}; 
$.each(arr, function(i, elem) { 
hash["Param" + i] = elem; 
}); 
+2

Vous pouvez poster un tableau. Lisez la [réponse ci-dessous] (http://stackoverflow.com/questions/2063076/how-to-post-a-array-with-post/2063090#2063090) – Casebash

+1

Vous pouvez poster un tableau, cette méthode est exactement ce que les gens voulez éviter: p –

7

De l'manual:

données

(en option) Carte, String

Paires clé/valeur ou valeur de retour de la fonction .serialize() qui sera envoyée au serveur.

Et des exemples dans le manuel:

$.post("test.php", { 'choices[]': ["Jon", "Susan"] });

Par conséquent:

$.post("test.php", { 'arr[]': arr }); 
+1

Il est à noter que JQuery 1.4 ajoute le [] dans [devant les noms de vos tableaux automatiquement] (http://benalman.com/news/2009/12/jquery-14-param-demystified/) . – Casebash

+0

@Casebash: Eugh. – Quentin

+0

Je sais. Et pire, il encode le [] – Casebash

Questions connexes