Heim > Web-Frontend > js-Tutorial > Warum sind meine AngularJS-HTTP-POST-Variablen in meinem PHP-Skript undefiniert?

Warum sind meine AngularJS-HTTP-POST-Variablen in meinem PHP-Skript undefiniert?

Mary-Kate Olsen
Freigeben: 2024-12-02 04:43:13
Original
779 Leute haben es durchsucht

Why are my AngularJS HTTP POST variables undefined in my PHP script?

AngularJS HTTP Post to PHP: Undefinierte Variablen adressieren

In Ihrem AngularJS-Code tritt ein Problem auf, bei dem an ein PHP-Skript gesendete Daten undefiniert erscheinen . Um dieses Problem zu lösen, müssen wir uns mit den Details befassen.

In Ihrem AngularJS-Code haben Sie eine HTTP-POST-Anfrage mit einem Content-Type-Header von „application/x-www-form-urlencoded“ definiert. Ihre Daten sind jedoch nicht als Abfragezeichenfolge formatiert. PHP verlässt sich auf $_POST, um formcodierte Daten zu empfangen, was erfordert, dass die Daten als Schlüssel-Wert-Paare formatiert werden.

Um dieses Problem zu beheben, gibt es zwei Optionen:

Option 1: JSON verwenden

AngularJS verwendet standardmäßig den Content-Type-Header „application/json“ für HTTP-Anfragen. Sie können dies nutzen, indem Sie die Roheingabe in PHP lesen und den JSON deserialisieren. Dies kann mit dem folgenden PHP-Code erfolgen:

$postdata = file_get_contents("php://input");
$request = json_decode($postdata);
$email = $request->email;
$pass = $request->password;
Nach dem Login kopieren

Option 2: Abfragezeichenfolge manuell formatieren

Wenn Sie $_POST bevorzugen, können Sie Ihre manuell formatieren Daten als Abfragezeichenfolge. Stellen Sie sicher, dass es URL-codiert ist. In JavaScript können Sie dies erreichen, indem Sie Folgendes tun:

let data = "email=" + encodeURIComponent($scope.email) + "&password=" + encodeURIComponent($scope.password);
Nach dem Login kopieren

Stellen Sie die HTTP-Anforderungsdaten auf diese formatierte Abfragezeichenfolge anstelle des aktuellen Formats ein. Mit diesen Anpassungen sendet Ihre AngularJS-HTTP-POST-Anfrage korrekt Daten an Ihr PHP-Skript und löst so das Problem undefinierter Variablen.

Das obige ist der detaillierte Inhalt vonWarum sind meine AngularJS-HTTP-POST-Variablen in meinem PHP-Skript undefiniert?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage