Heim >Web-Frontend >js-Tutorial >AngularJS zu PHP POST: Warum sind meine Variablen undefiniert?

AngularJS zu PHP POST: Warum sind meine Variablen undefiniert?

Linda Hamilton
Linda HamiltonOriginal
2024-11-23 20:07:18748Durchsuche

AngularJS to PHP POST: Why are my variables undefined?

AngularJS HTTP-Post an PHP: Problem mit undefinierten Variablen

Problembeschreibung:

Beim Ausführen einer HTTP-POST-Anfrage von AngularJS an ein PHP-Skript sendet, empfängt das PHP-Skript undefinierte Werte für das gepostete Formular Daten.

Ursache:

AngularJS setzt standardmäßig den Content-Type-Header für HTTP-Post-Anfragen an application/json. Der Beispielcode in der Frage setzt jedoch den Content-Type-Header auf application/x-www-form-urlencoded. Daher liegen die von AngularJS gesendeten Daten nicht im erwarteten Format für die $_POST-Funktionalität von PHP vor.

Lösung 1:

Verwenden Sie den standardmäßigen AngularJS Content-Type-Header von application/json und lesen Sie die Roheingabe in PHP, deserialisieren Sie dann die JSON.

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

Lösung 2:

Wenn Sie sich auf die $_POST-Funktionalität verlassen, bilden Sie eine Abfragezeichenfolge aus den Daten und senden Sie sie als Anforderungstext, um dies sicherzustellen Die Abfragezeichenfolge ist URL-codiert.

data = "email=" + encodeURIComponent($scope.email) + "&password=" + encodeURIComponent($scope.password);

Das obige ist der detaillierte Inhalt vonAngularJS zu PHP POST: Warum sind meine Variablen undefiniert?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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