Billet du blogue

Entêtes HTTP, AJAX et jQuery

Récemment, j’ai eu à utiliser jQuery pour effectuer des requêtes AJAX. Le code à utiliser est très simple:

$.get("page.php",
  { name: "Rémi" },
  function(data){
    alert("Données reçu via AJAX : " + data);
  }
);

Cependant, cela s’est compliqué lorsque j’ai voulu accéder aux entêtes HTTP de la requête — utilisées par le script PHP pour transmettre des meta-données.

Le problème est qu’avec jQuery, l’objet XMLHttpRequest n’est jamais accessible avec les méthodes qui l’utilisent. En tous cas, pas dans les requêtes simples et brèves (comme celle montrée plus haut).

Il existe cependant une méthode qui permet d’interagir avec l’objet XMLHttpRequest: la méthode $.ajax, qui est en fait la fonction « mère » utilisée par $.get, $.getJSON, $.post, etc. Voici donc le code à utiliser pour accéder aux entêtes HTTP:

$.ajax({
 type: "GET",
 url: "page.php",
 data: { name: "Remi" },
 complete: function(obj,msg) {
   if (msg == "success") {
     alert(obj.getResponseHeader("X-MonEntete"));
   }
 }
});

Lorsque la requête est complétée, notre fonction anonyme est appelée, avec en argument l’objet XMLHttpRequest et l’état de la requête. C’est donc avec le premier argument qu’on peut extraire les entêtes HTTP.

Posté le avec les tags: , , et .

Commentaires fermés

Les commentaires pour ce billet ont été désactivés un mois après la date de publication de ce-dernier. Vous désirez exprimer votre opinion sur ce billet malgré le fait que les commentaires aient été désactivés ? Utilisez le formulaire de contact.


Fil atom des commentaires de ce billet0 commentaires

Aucun commentaire n'a été posté pour ce billet.