Maison  >  Article  >  interface Web  >  AngularJS vers PHP POST : Pourquoi mes variables ne sont-elles pas définies ?

AngularJS vers PHP POST : Pourquoi mes variables ne sont-elles pas définies ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-23 20:07:18709parcourir

AngularJS to PHP POST: Why are my variables undefined?

Post HTTP AngularJS vers PHP : problème de variable non définie

Description du problème :

Lors de l'exécution d'une requête HTTP POST à ​​partir d'AngularJS à un script PHP, le script PHP reçoit des valeurs non définies pour le formulaire publié data.

Cause :

AngularJS définit par défaut l'en-tête Content-Type pour les requêtes HTTP Post vers application/json. Cependant, l'exemple de code dans la question définit l'en-tête Content-Type sur application/x-www-form-urlencoded. Par conséquent, les données envoyées par AngularJS ne sont pas au format attendu pour la fonctionnalité $_POST de PHP.

Solution 1 :

Utiliser l'en-tête AngularJS Content-Type par défaut d'application/json et lisez l'entrée brute en PHP, puis désérialisez le JSON.

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

Solution 2 :

Si vous utilisez la fonctionnalité $_POST, formez une chaîne de requête à partir des données et envoyez-la en tant que corps de la requête, en vous assurant que la chaîne de requête est codée en URL.

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

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn