J'essaie de poster mon nom d'utilisateur et mon mot de passe sur mon fichier PHP via AJAX, mais il post ["nom d'utilisateur"] et post ["mot de passe"] finnez l'index non défini
J'ai essayé ce qui suit. P >
/index.php p> /main.js p> /home.php p> if (isset($_POST)) {
$username = $_POST['username'];
$password = $_POST['password'];
echo "<h2>".$username."</h2>";
echo "<h2>".$password."</h2>";
} else {
echo "<h2>Nothing received</h2>";
}
print_r($_POST)
4 Réponses :
Votre JavaScript fait une demande postale à Vous avez dit à JQuery Si la demande était em> réussie, elle montrerait l'alerte. P>
Si vous ne l'aviez pas commenté, vous exécuterez alors Cette demande n'inclut pas les données postales, donc Quand je clique sur le réseau 'home.php', cela me donne "index non défini:" pour mon nom d'utilisateur et mon mot de passe. P>
blockQuote>
Ceci donne manuellement le même effet que Si vous souhaitez charger les résultats de votre demande HTTP comme nouvelle page, alors Utilisez AJAX lorsque vous souhaitez traiter la réponse avec JS et pas em> laissez la page en cours. p> home.php code> avec quelques données dedans. p>
home.php code> répond avec certaines données composées de sous-titres HTML et d'un vidage de la variable
$ _ / code>. Ce n'est pas JSON. P>
DataType: 'Json' Code> Donc, il s'attend à JSON. Comme il ne l'a pas eu, il ne lit pas la réponse en tant que succès et appelle
erreur code> au lieu de
succès code>. Puisque vous n'avez pas défini
erreur code>, rien ne se passe. P>
window.location = 'home.php' code> qui déclencherait une demande
home.php code> et montrent le résultat. P>
home.php code> ne montrerait rien sauf pour certains
vide
code> éléments, certains index non définies em > Erreurs et une représentation d'un tableau vide. P>
fenêtre.location = 'home.php'; code> (fait une demande d'obtention) avec les mêmes problèmes que ceux décrits ci-dessus. P>
Ok mais j'ai mon erreur défini mais je n'ai toujours pas d'erreur comment puis-je savoir où est le problème? Merci pour votre explant treint !!
@Quentin je souhaite (un jour) de devenir au moins la moitié d'un programmeur comme vous.
Essayez Changer
C'est un horrible hack pour créer un effet mieux réalisé avec e.preventdefault (); code> ... que l'OP utilise déjà. Cela ne changera rien.
Essayez dans Ajax Call ... DATA {Nom d'utilisateur: Nom d'utilisateur, mot de passe: PSWRD} code> ... sans " p>
Cela n'a aucun effet au-delà de l'économie de 4 octets de JavaScript. Les noms de propriétés d'objet peuvent être des chaînes ou i> identifiants.
Essayez de changer ceci: p>
Données: { "Nom d'utilisateur": nom d'utilisateur, "Mot de passe": PSWRD }, p> blockQuote>
à ceci: p>
Données: 'Nom d'utilisateur =' + Nom d'utilisateur + '& Mot de passe =' + PSWRD, P> blockQuote>
et supprimer ceci: p>
DataType: 'JSON', P> blockQuote>