2010-03-04 3 views
0

J'ai une méthode de publication AJAX qui obtient des données XML du serveur. Mais lorsque la session utilisateur est terminée, le serveur répondra avec la page de connexion. Et dans ce cas je ne peux pas détecter si la réponse n'est pas xml car $.post n'appelle pas la fonction de rappel.jquery: type de réponse différent

Comment puis-je détecter si la réponse n'est pas xml?

Merci!

Répondre

1

au lieu d'utiliser $.post, utilisez $.ajax et mis type: 'POST' .

Vous pouvez ensuite effectuer des rappels sur toutes sortes d'événements, voir http://api.jquery.com/jQuery.ajax/ pour tous les détails. Vos appels seront très probablement faciles à convertir.

$.post a moins de fonctionnalités que $.ajax, mais en interne, il utilise $.ajax pour faire le vrai travail.

+0

et quel type de champ je dois définir? parce que quand je reçois html en réponse rien ne se passe. il saute à la fois «succès» et «erreur» –

+0

vous devrez inspecter les données de réponse en cas de succès, ou en-tête un code de réponse d'erreur sur la page de connexion (403 interdit peut-être?) jquery saura que c'est une erreur et utilisera le callback d'erreur à la place. – Kris

0

Essayez de sauter dans la spécification dataType .post de $(), alors vous devriez obtenir tout type de données et de vous valider si son XML ou autre chose ...