Envoi d'un tableau d'objets en tant que données ajax post?
Dans l'ensemble, mon but est d'obtenir tous les, certains des menus déroulants sur une page et l'envoyer pour être traitées par un fichier php.
Droit maintenant, la façon dont je suis en train de faire en jQuery est de faire un planning global tableau, puis en ajoutant chaque élément d'être mis à jour ce tableau. J'ai donc quelque chose comme:
var schedule = [];
var data = {
'user_id' : '12',
'day_of_week' : 'Monday',
'when' : 'start',
'time' : '12 AM'
}
schedule.push(data);
var data = {
'user_id' : '13',
'day_of_week' : 'Tuesday',
'when' : 'end',
'time' : '12 AM'
}
schedule.push(data);
//schedule would have two objects in it
Évidemment dans des boucles et des et des trucs.
Donc, mon annexe tableau a deux objets, dans ce cas.
Maintenant, est-il possible d'utiliser cette annexe tableau comme l'ajax de données? Il ne fonctionne pas si je fais quelque chose comme:
$.ajax({
url: 'http://something.com/ajax',
data: schedule,
type: 'POST'
});
Mais si je au lieu de le changer pour schedule[0]
il fonctionne très bien, mais seulement pour la première chose dans le calendrier de tableau, évidemment.
source d'informationauteur Ben | 2012-04-21
Vous devez vous connecter pour publier un commentaire.
Assurez-vous d'utiliser la bonne version de jQuery. Dans les versions antérieures, vous avez dû passer un aiguillon; les nouvelles versions utilisation "intelligente deviner" sur le
data
variable. Vous pouvez soit indiquer explicitement jQuery que vous êtes en passant un objet javascript avec ledataType
paramètre, ou vous pouvez laisser jQuery figure it out.Documentation
jQuery.ajax()
- http://api.jquery.com/jQuery.ajax/La
data
attribut doit être un objet.Ce que vous pouvez faire est ceci:
Donc, si vous recevez ce par exemple en PHP, vous avez
$_POST["schedule"]
. Un qui est exactement le même que vous aviez en JavaScript.Ohh oui j'ai oublié... ont également un coup d'oeil à
.serialize()
et.serializeArray()
!Passer comme JSON:
D'envoyer une chaîne encodée JSON pour le serveur qui les langages côté serveur peut analyser. (en PHP, c'est fait avec
json_decode()
).