L'obtention de données à partir d'un fichier PHP renvoie une valeur nulle
P粉617237727
2023-08-30 11:20:14
<p>J'essaie de tester et d'apprendre comment fonctionne la récupération, donc je veux envoyer des données de javascript vers un fichier php, mon problème est que je ne peux pas récupérer les données (dans le fichier php) et obtenir seulement un réponse nulle. </p>
<p>J'utilise POST, mais j'ai essayé d'utiliser GET et j'ai obtenu les mêmes résultats</p>
<p>En remarque, dans la console, la connexion au réseau n'apparaît qu'après avoir appuyé sur F5, ce qui, je crois, devrait déjà fonctionner lorsque j'ouvre Test.php. </p>
<p><em><strong>datosJS.js</strong></em></p>
<pre class="brush:php;toolbar:false;">let datos = {
méthode : "POST",
en-têtes : {
"Type de contenu" : "application/json"
},
corps : JSON.stringify({
nom d'utilisateur : "Jonathan",
email : "jonathan@gmail.com",
mot de passe : "123456"
})
}
récupérer('Test.php',données)
.then(resp => resp.text())
.then(resp =>{
console.log(resp);
})</pré>
<p><em><strong>Test.php</strong></em></p>
<pre class="brush:php;toolbar:false;"><script src="datosJS.js" type="text/javascript"></script> "datosJS.js" pour recevoir les données ici dans Test.php
<?php
$body = json_decode(file_get_contents("php://input"), true);
var_dump($corps);
?>≪/pré>
<p>Je sais que PHP est côté serveur et JS côté client, et qu'ils s'exécutent tous les deux à des moments différents, mais j'ai du mal à trouver une solution à ce problème. </p>
<p>Merci pour votre aide ! </p>
<p>** Modification d'un petit changement dans la récupération qui me permet désormais d'afficher les données dans la console</p>
Finalement, j'ai réussi à résoudre le problème, expliqué ci-dessous :
datosJS.js
test.php
Ci-dessous, je marque ce qui manque dans le code original :
Dans datosJS.js document.getElementById('results').innerHTML = resp; et enveloppez le tout dans window.onload = function() {}
Dans Test.php, ajoutez id="results" name="results" au div, section ou à tout autre contenu reçu d'innerHTML.
J'espère que cela aidera quelqu'un à l'avenir. Bravo