Codeigniter - array von json-Objekten in der post

In fire-bug, den ich meine jquery-post Anfrage-Parameter, wie dies

adults            1
applicants[]    [object Object]
attendees   1
children    0

In diesem post-request das array mit dem Namen Bewerber enthält json-Objekt, das ich will, ti Durchlaufen und pull-out-Werte in meinem codeigniter-controller. Der json-string kann so Aussehen

({attendees:"2", 
  adults:"2", 
  children:"0", 
  grptype:"2", 
  'applicants[]':[{firstname:"John", lastname:"Doe", age:"33", allergies:"true", diabetic:"true",    lactose:"false", note:"nuts"}, {firstname:"Jane", lastname:"Doe", age:"34", allergies:"true", diabetic:"false", lactose:"false", note:"pollen"}]
})

Blick auf die Antragsteller[] oben, sehe ich eine info für zwei Personen als json-Objekt. Ich bin nicht sicher, wie der Zugriff auf die Daten in meinem controller. sehen Sie diese

$applicants = $this->input->post('applicants');
$this->output->append_output("<br/>Here: " . $applicants[0].firstname );

Ich dachte $Bewerber[0] woild beziehen sich auf das json-Objekt, und ich konnte nur pull-outs Werte auf Anfrage. Nicht sicher, hat ich falsch mache. Danke Jungs.

BEARBEITEN
Also ich habe meinen json und es sieht so aus

adults  2
applicants[]    {firstname:"John", lastname:"Doe", age:"23", allergies:"true", diabetic:"true", lactose:"false", note:"nuts"}
applicants[]    {firstname:"Jane", lastname:"Doe", age:"23", allergies:"false", diabetic:"false", lactose:"false", note:""}
attendees   2
children    0

Nun ich bin noch immer die Fehlermeldung

**Message: json_decode() expects parameter 1 to be string, array given**

Irgendwelche Ideen ?

EDIT 2

Ok mu Daten jetzt liiks wie diese

adults  1
applicants[]    {"firstname": "John", "lastname": "Doe", "age": "34", "allergies": "true", "diabetic": "true", "lactose": "false", "note": "nuts"}
attendees   1
children    0

In der controller-id hat das

$applications = $this->input->post('applicants');
foreach ( $applications as $item)
{
  $item = json_decode($item, true);  
  $this->output->append_output(print_r($item));
}

Dies ist das Ergebnis, dass die Logik

Array
(
    [firstname] => John
    [lastname] => Doe
    [age] => 34
    [allergies] => true
    [diabetic] => true
    [lactose] => false
    [note] => nuts
)

Nicht sicher, was ich falsch mache, egal was ich mache, um den Zugriff auf die dater bekomme ich eine Fehlermeldung, um den Effekt, dass ich nicht auf Sie zugreifen wie. Wie ziehe ich die Werte ?

  • Sehen Sie [object Object] in der POST, bedeutet, dass ist genau das, was wird an den server geschickt werden - ein string, der [object Object]. Wie sind Sie mit dem erstellen der post-Daten?
  • Ich habe zwei Formulare in einer widard und vor Einreichen, ich erstelle json für jedes Formular, und führen Sie die json-Objekte mit jquery erweitern(). Dann sende ich mit jquert $.post(bla bla bla). Sind t=Sie Spruchs zu senden accress als string und nicht als Objekt ?
  • Ja, Sie sollten konvertieren javascript-Objekt zu einem JSON-string und erst dann zu senden, dass der string anstelle. Dann decodieren des JSON-string auf dem server als @Scheich Herra hingewiesen.
  • Kann nicht glauben, ich bin so dumm, ich verwendet, $Element['Vorname'], ziehen Sie die Wert . Danke Jungs für die Führung.
InformationsquelleAutor Faiyet | 2013-09-29
Schreibe einen Kommentar