Requête Ajax ne fonctionne pas sans l'envoi de données
Je suis en train de faire une requête AJAX vers un script PHP pour une simple déconnexion.
Le PHP ne fonctionne tout simplement la suivante:
<?php
session_start();
unset($_SESSION['autorizzato']);
$arr=array('result'=>"logout effettuato con successo");
$ris=json_encode($arr);
echo $ris;
?>
Alors que la requête AJAX ressemble à quelque chose comme ceci:
$.ajax({
type: 'POST',
url: 'logout.php',
async: false
}).success(function(response){
if (response['result']=="logout effettuato con successo")
{
change();
}
else alert("Errore nel logout");
});
});
Problème est que resonse['result'] on dirait qu'il est vide.
La chose curieuse est que si j'ajoute à la requête AJAX une chaîne de données (comme ceci:
$.ajax({
type: 'POST',
url: 'logout.php',
async: false,
dataType: 'json',
data: sendstr
}).success(function(response){
if (response['result']=="logout effettuato con successo")
{
change();
}
else alert("Errore nel logout");
});
});
où sendstr est un simple JSON stringified objet.
Quelqu'un sait pourquoi?
Merci d'avance 🙂
- Vous avez dataType:'json', qui est la façon dont vous dites jQuery vous attendez JSON à partir du serveur.
- Vérifiez votre réponse du serveur dans l'onglet réseau, dans la console de vérifier si elle peut être analysé par JSON.parse()
Vous devez vous connecter pour publier un commentaire.
votre succès fonction devrait faire comme
Soit vous y allez de cette façon:
Ou