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

Warum sind meine AngularJS-POST-Variablen in meinem PHP-Skript nicht definiert?

Susan Sarandon
Freigeben: 2024-11-30 12:43:11
Original
128 Leute haben es durchsucht

Why Are My AngularJS POST Variables Undefined in My PHP Script?

HTTP-POST, der von AngularJS gesendet wird, führt zu undefinierten POST-Variablen in PHP

In unserem Setup sendet eine AngularJS-Anwendung eine HTTP-POST-Anfrage an ein PHP Skript, aber das PHP-Skript empfängt undefinierte Werte für den POST „E-Mail“ und „Passwort“. Parameter.

Debuggen der Ursache

Das Problem liegt in der Nichtübereinstimmung zwischen dem von AngularJS gesendeten Content-Type-Header und dem von PHP erwarteten Datenformat. AngularJS verwendet application/json als standardmäßigen Content-Type-Header, aber das PHP-Skript erwartet formcodierte Daten.

Lösung 1: Verwenden Sie Application/JSON in PHP

Eine Lösung besteht darin, den Content-Type-Header in AngularJS in application/json zu ändern und PHPs file_get_contents("php://input") zu verwenden, um die Rohanforderung abzurufen Körper. Die Daten können dann aus JSON deserialisiert werden.

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

Lösung 2: Formularcodierte Daten senden

Alternativ kann AngularJS so konfiguriert werden, dass formularcodierte Daten gesendet werden . Dazu gehört das manuelle Erstellen einer Abfragezeichenfolge oder die Verwendung von jQuery.serialize(). Die Abfragezeichenfolge sollte dann URL-codiert und als Anforderungsdaten festgelegt werden.

$email = $_POST['email'];
$pass = $_POST['password'];
Nach dem Login kopieren

Veraltete Methoden

Beachten Sie die Methoden .success() und .error() Die im Code erwähnten Elemente sind veraltet. Verwenden Sie stattdessen .then().

Das obige ist der detaillierte Inhalt vonWarum sind meine AngularJS-POST-Variablen in meinem PHP-Skript nicht definiert?. 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