10
votes

Récupération des données de poste d'Ajax Call à PHP

Trois jours se sont écoulés et ont toujours des problèmes pour que ces choses fonctionnent. Cet appel AJAX sur mon fichier JS semble fonctionner lorsqu'il s'agit d'envoyer des données JSON: xxx pré>

mais dans mon fichier php: p> xxx pre>

Erreur de la console Firebug dit: p> xxx pré>

Je crois que json_decode () code> fonctionne bien dans mon fichier php mais $ € ['' ] code> ne peut pas reconnaître mes données publiées à partir de My Ajax Call W / C variables avait été déclarée: p>

data: "{'lastName':'" + _lname + "','firstName':'" + _fname + "','middleName':'" + _mname + "'}",


4 Réponses :


11
votes

Pouvez-vous voir les données de demande AJAX à l'aide de la console Firebug?

Vous ne pouvez pas obtenir le nom de famille, prénom de $ _ POST code>. C'est à l'intérieur de la chaîne JSON. Tout d'abord, vous devez obtenir les données à l'aide de p> xxx pré>

puis, décoder le $ données code> à l'aide de json_decode () code> et accédez à vos attributs. P>

json_decode($data);


6 commentaires

Je peux le voir. Il affiche les données JSON sur la console Firebag.Je pense que Ajax fonctionne bien avec cela. Je veux télécharger la capture d'écran de celui-ci, car vous les gars de le voir, mais ma réputation est faible pour moi d'avoir le privilège. Les données JSON indiquent que: FirstName "InvettedFirstName" Dernierame "InputtedLastName" Middlename "InvettedMidDlename" Mais mon fichier PHP ne peut pas obtenir ces valeurs à l'aide de JSON_Decode ($ _ POST ["Nom ']). Où pensez-vous que c'est le problème?


Je l'aurais essayé, mais il a également renvoyé des "données" comme indice indéfini. Je ne fais vraiment pas pourquoi '$ _post' ne peut pas obtenir les données postées. Je crois que cela devrait même lire les attributs, mais ce n'est pas le cas. Je passe vraiment un mauvais moment ici.


$ .post ('.././ checkperson.php', {Données: Datatring}, fonction (res) {}); Essayez d'envoyer des données en utilisant cette méthode


Ça marche juste. Je peux maintenant accéder aux données de mon fichier PHP. Mais je pense que je dois supprimer ma fonction Ajax maintenant et recommencer à coder, car ces codes ne fonctionnent pas pour moi ou peut-être que je ne peux tout simplement pas le faire fonctionner. Merci beaucoup.


Ma dernière option a-t-elle fonctionné? $ .post ('.././ checkperson.php', {Données: Datatring}, fonction (res) {});


Ouais. J'ai essayé $ Comme ce que tu avais dit. Mais maintenant, les données ne sont pas des données JSON. Je cherche toujours des moyens si je peux utiliser des données JSON renvoyées par Ajax dans mon fichier PHP, mais je pense que je suis bon avec $ .post (); pour l'instant. Merci encore pour votre aide.



8
votes
$post = file_get_contents('php://input');

1 commentaires

Veuillez ajouter quelques explications à votre réponse, de sorte que d'autres puissent en apprendre d'elle



0
votes

au lieu de ce xxx

utilise ce xxx


1 commentaires

Veuillez ajouter quelques explications à votre réponse, de sorte que d'autres puissent en apprendre d'elle



0
votes

Essayez avec cette solution

$ lastname = isset ($ _ post ['lastname'])? JSON_Decode ($ _ POST ["Nom ']): null; $ matchName = émetteur ($ _ POST ["FRESTNAME"])? JSON_DECODE ($ _ POST ["FRESTNAME"]): null; $ Middlename = Isset ($ _ POST ['MIDDLENAME'])? JSON_DECODE ($ _ POST ['MIDDLENAME']): NULL;


1 commentaires

AVERTISSEMENT, votre code PHP n'est pas valide.