Mein übergeordnetes Ziel ist es, alle Dropdown-Menüs auf einer Seite zusammenzufassen und diese an eine php-Datei zu senden.Senden eines Arrays von Objekten als Ajax Post-Daten?
Im Moment mache ich es in jQuery so, dass ich ein Gesamt-Zeitplan-Array mache und jedes Element, das aktualisiert werden soll, zu diesem Array hinzufüge. So habe ich so etwas wie:
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
Offensichtlich in Schleifen und und so.
Also, mein Zeitplan Array hat zwei Objekte in diesem Fall.
Nun ist es möglich, dieses Zeitplan-Array als Ajax-Daten zu verwenden? Es funktioniert nicht, wenn ich so etwas tun:
$.ajax({
url: 'http://something.com/ajax',
data: schedule,
type: 'POST'
});
Aber wenn ich es stattdessen schedule[0]
ändern funktioniert es ganz gut, aber nur für das erste, was in dem Zeitplan-Array, offensichtlich.
Entfernen Sie die '' ..schedule ist eine Variable, kein String. Außerdem wird jQuery Ihr Array als JSON-Objekt codieren, das Sie auf dem Server dekodieren müssen. – gpasci
Wenn ich mich nicht irre, ist Schedule kein Array von Arrays. Es ist ein Array von Objekten, da Daten ein Objekt sind. – xbonez
Gibt es einen bestimmten Grund, warum Sie nicht 'type: 'JSON'' verwenden? –