jQuery.ajax()
normalmente invia un'intestazione X-Requested-With
con XMLHttpRequest
impostata come contenuto. Sul server (in PHP), di solito rilevare questo da test:
$is_ajax = $_SERVER['HTTP_X_REQUESTED_WITH'] === 'XMLHttpRequest'
In AngularJS, si trovano comunemente in $routeProvider.when()
, è possibile ottenere un modello dal server con templateUrl: '/path/on/server'
.
Il mio problema è chetemplateUrl
richieste sembrano non impostato X-Requested-With
intestazioni, quindi non c'è modo di distinguere templateUrl
richieste da qualsiasi altro tipo di richiesta.
C'è un modo per ottenere $routeProvider
per inviare X-Requested-With
come XMLHttpRequest
?
Riferimento:
$routeProvider Docs - (ricerca
templateUrl
)jQuery jqXHR - vedere
jqXHR.setRequestHeader("X-Requested-With", "XMLHttpRequest")
Utilizzando angolare
v1.1.5
via Google CDNAggiornamento: Ho trovato il actual commit dove gli sviluppatori angolari hanno rimosso
X-Requested-With
da$http.get
. Mi chiedo perché lo farebbero?Aggiornamento:https://github.com/angular/angular.js/issues/1004 - discussione in cui è stata rimossa l'intestazione.