Bon voila mon problème, j'ai un formulaire d'email et de mot de passe pour se connecter au compte en PHP, et j'ai mis du java script pour se connecter sans recharger la page :
quand je remplis les cases tout marche bien et le compte s'ouvre grace au session de php, mais je reçois toujours l'erreur suivante :
Uncaught (in promise) SyntaxError: Unexpected token < in JSON at position 0
si j'ai bien compris c'est une promesse non résolu mais le compte se connecte normalement, veuillez m'aider SVP.
Est ce que c'est du parce que la page à la quelle j'envoie les données est appelée en require par PHP ? et mon deuxieme problème c'est que je reçois pas les variables de retours de la part de la page php (voici la page php qui reçoit le fetch :
<?php
use Model\Frontend\MemberConnect\MemberConnectModel;
$data = json_decode(file_get_contents('php://input'), true);
if (isset($data['email']) AND isset($data['password']))
{
$connect_manager = new MemberConnectModel;
$connect_manager->email = $data['email'];
$connect_manager->psw = $data['password'];
$connect_manager->connect();
$reponse = array(
'email_error' => '',
'password_error' => ''
);
echo json_encode($reponse);
}
else
{
$reponse = array(
'email_error' => 'il faut remplire les cases',
'password_error' => 'il faut remplire les cases'
);
echo json_encode($reponse);
}
Dans ton cas, le navigateur te dit qu'il n'est pas parvenu à reconnaitre le contenu de ta réponse comme du JSON (donc au niveau du JSON.parse()). Il est donc probable que tu ais une erreur avec ce qui est renvoyer coté serveur.
Tu peux le contrôler de cette façon :
console.log(await response.clone().text()); // On clone la réponse pour éviter de consommer l'original avant de la récupérer sous forme de texte dans la console.
const data = await response.json();
Maintenant, vérifies que ce qu'il y a dans la console correspond bien à ce que tu attends.
- Edité par BrainError 22 novembre 2021 à 13:44:19
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
suggestion de présentation.