Gestion des demandes de redirection après les appels jQuery Ajax
Lorsque vous utilisez $.post() de jQuery pour appeler un servlet, il est possible de rencontrer une redirection directive lors de l'expiration de la session. Cette directive demande au navigateur d'accéder à la page de connexion, perturbant ainsi la réponse Ajax prévue.
Utilisation de JSON pour la gestion des redirections
Pour résoudre ce problème, envisagez d'utiliser JSON comme une partie de votre réponse Ajax. Au lieu d'utiliser un code d'état HTTP non standard tel que 278, toutes les réponses peuvent conserver un code d'état 200. Le corps de la réponse contiendra un objet JSON avec deux membres clés : data.redirect et data.form.
Gestion côté client
Côté client, le JavaScript le code utilisera cet objet JSON pour déterminer l’action appropriée. Si data.redirect existe, il représente l'URL vers laquelle rediriger le navigateur. Si data.form existe, il contient le code HTML pour remplacer le formulaire désigné sur la page actuelle.
Voici un exemple de la façon dont cela peut être implémenté dans jQuery :
$.ajax({ type: "POST", url: reqUrl, data: reqBody, dataType: "json", success: function(data, textStatus) { if (data.redirect) { window.location.href = data.redirect; } else { $("#myform").replaceWith(data.form); } } });
En utilisant JSON, vous pouvez garder le contrôle sur les opérations de redirection et de remplacement de formulaire, garantissant une expérience utilisateur transparente lors des appels Ajax.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!