Verwendung von jQuery .serialize () im Ajax-Array, um PHP $ _POST als Variablen zu übergeben?

8

Dies ist der jQuery-Code, mit dem ich die Formulardetails an eine PHP-Funktion sende:

%Vor%

und das ist die PHP-Funktion:

%Vor%

Alles funktioniert, aber wenn das Warnfeld erscheint, zeigt der Text eine Reihe von Werten aus meinem HTML-Formular #ajaxForms an. Ich glaube, das liegt daran, dass die php-Funktion das $_POST['serialize'] zurückgibt.

In meiner Form habe ich ein Eingabefeld wie:

<input id="postID" name="postID" value="First Name" type="text" />

aber wenn ich versuche, die Variable $_POST['postID'] in der PHP zu wiederholen, wird nichts in der Alarmbox angezeigt.

Ich dachte, indem ich die Formulardaten, die zur PHP-Funktion serialisiert werden, die Variable $ _POST verwenden könnte, die den Formulareingaben zugeordnet wird?

Hilfe geschätzt. :)

    
Shoebox 18.01.2012, 21:22
quelle

2 Antworten

10

Indem Sie die Formulareingaben mit jQuerys serialisieren serialisieren, erstellen Sie eine Zeichenfolge wie:

%Vor%

Um die postId zu erhalten, müssen Sie das $ _POST ['serialize'] deserialisieren. Um dies zu tun, sollten Sie etwas tun wie:

%Vor%

Nun suchen Sie nach $whatever['postID'] .

Bearbeiten: Reparieren parse_str ():)

    
mobius 18.01.2012, 21:29
quelle
7

Sie implementieren $.post falsch. .serialize() gibt eine Zeichenfolge zurück. Wenn Sie also serialize: str an $.post() übergeben, wird das Formular selbst nicht mehr hinzugefügt, sondern eine einfache Zeichenfolge, die das serialisierte Formular enthält.

Der folgende Code ist korrekt und verwendet $.ajax (siehe die kommentierten Zeilen).

%Vor%     
Rob W 18.01.2012 21:31
quelle

Tags und Links