/ / Est-il judicieux de rediriger en appelant une page séparée? - php, jquery, ajax

Est-il judicieux de rediriger en appelant une page distincte? - php, jquery, ajax

Ceci est une page de déconnexion déclenchée par un post jquery via un bouton.

Le script de déconnexion est simplement

<?php

session_start();

session_destroy();

header("Location: new location");

?>

Lorsque vous accédez à cette page par URL, cela fonctionne, la session est détruite, la page est redirigée. Mais quand on l'appelle par un message jQuery

<script>
$.post("logout.php");
</script>

Rien ne se passe, il se peut que la requête JQuery Post ne fonctionne pas.

Je me demande simplement s'il est inutile de le faire de cette façon.

Réponses:

2 pour la réponse № 1

Tout d'abord utiliser $.get au lieu de $.post comme c'est beaucoup plus rapide.

Ceci est une page de déconnexion déclenchée par un post jquery via un bouton.

header("Location: new location");

le logout.php lui-même sera redirigé et ne changera que le résultat renvoyé.

essayez comme:

<script>
$.get("logout.php", function(){ documnt.location.href="/index.php" });
</script>

cela redirigera vers la page que vous voulez après que ajax soit excuté.


0 pour la réponse № 2

header("Location: new location");

Ce code PHP bien sûr redirige quand il est chargé en tant que fichier. Mais alors, quand il s’agit de

<script>
$.post("logout.php");
</script>

Ceci est une demande AJAX. AJAX Request est celui qui demande simplement une page et répond au contenu HTML de la page. Par conséquent, la header() la fonction ne "redirige pas la page dans laquelle le <script> des mensonges.

Au lieu de $.post vous voudrez peut-être utiliser $.ajax

$.ajax
{
url: "logout.php",
type: "POST",
contentType: false,
processData: false,
success: function(){
window.location="new location";
}
}

J'espère que cela t'aides. Je vous remercie.