Question

Y a-t-il quelque chose dans l'en-tête d'une requête HTTP qui me permettrait de différencier un appel AJAX d'une requête directe du navigateur émanant d'un client donné? Les chaînes de l'agent utilisateur sont-elles généralement les mêmes, peu importe?

Était-ce utile?

La solution

Si vous utilisez Prototype, jQuery, Mootools ou YUI, vous devez rechercher un en-tête X-Requested-With: XMLHttpRequest qui fera l'affaire pour vous. Il devrait être possible d'insérer n'importe quel en-tête avec d'autres bibliothèques.

Au niveau le plus bas, avec un objet XMLHttpRequest ou XMLHTTP, vous pouvez définir cet en-tête avec la méthode setRequestHeader comme suit:

xmlHttpRequest.setRequestHeader('X-Requested-With', 'XMLHttpRequest');

Autres conseils

Après quelques recherches, il semble que la meilleure approche serait simplement de spécifier une chaîne d'agent utilisateur personnalisée lors d'appels AJAX, puis de rechercher cette chaîne d'agent utilisateur personnalisée sur le serveur.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top