Maison > interface Web > js tutoriel > Comment puis-je gérer les redirections après les appels jQuery AJAX pour éviter les réponses interrompues ?

Comment puis-je gérer les redirections après les appels jQuery AJAX pour éviter les réponses interrompues ?

Linda Hamilton
Libérer: 2025-01-04 16:24:40
original
497 Les gens l'ont consulté

How Can I Handle Redirects After jQuery AJAX Calls to Prevent Disrupted Responses?

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);
        }
    }
});
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal