Frage

Gibt es etwas in der Kopfzeile einer HTTP-Anforderung, die mich zwischen einem Ajax-Aufruf und einer direkten Browser-Anforderung von einem bestimmten Client zu unterscheiden erlauben würde? Sind die User-Agent-Strings in der Regel die gleichen, unabhängig?

War es hilfreich?

Lösung

Wenn Sie Prototype, jQuery, Mootools oder YUI sollten Sie eine X-Requested-With finden: XMLHttpRequest Header, der den Trick für Sie tun. Es sollte möglich sein, einfügen, was Header Sie mit anderen Bibliotheken mögen.

Auf der untersten Ebene, da ein XMLHttpRequest oder XMLHTTP Objekt, können Sie diesen Header-Set mit die setRequestHeader Methode wie folgt:

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

Andere Tipps

Nach einigen Recherchen, es sieht aus wie der beste Ansatz wäre einfach einen benutzerdefinierten User-Agenten-String angeben, wenn Anrufe AJAX macht und dann für diesen benutzerdefinierten User-Agenten-String auf dem Server zu überprüfen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top