Sto lavorando su un'applicazione di esempio utilizzando ASP.NET MVC e AngularJS.Identifica js angolari Chiamate AJAX nel codice ASP.NET MVC
Nel codice lato server, ho scritto un attributo filtro Azione, e in questo ho bisogno di verificare se la richiesta è una richiesta normale (Browser) o richiesta AJAX.
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
if (filterContext.HttpContext.Request.IsAjaxRequest())
{
}
}
Il metodo di cui al codice di cui sopra frammento di "IsAjaxRequest()" non restituisce TRUE in caso di richiesta AJAX realizzati con $ http servizio angolare.
Ho osservato che la richiesta non ha l'intestazione X-Requested-With, e anche l'aggiunta dell'intestazione non ha risolto la richiesta.
Nota: questa NON è una chiamata CORS.
Quindi la mia domanda.
Come si fa filterContext.HttpContext.Request.IsAjaxRequest() decidere se la richiesta è AJAX o no?
Posso controllare l'intestazione della richiesta (se ha una particolare intestazione o meno) e decidere se la richiesta è AJAX oppure no. È l'approccio giusto e solo?
Solo una cronaca che è open source e si può guardare l'effettiva attuazione : https://aspnetwebstack.codeplex.com/SourceControl/latest#src/System.Web.Mvc/AjaxRequestExtensions.cs –
@Keith Rousseau Link fornito dovrebbe essere utile per me in futuro .. – refactor