web-dev-qa-db-fra.com

comment savoir si la demande est ajax dans asp.net mvc?

quelqu'un comment puis-je savoir si la demande est ajax? (J'utilise jquery pour ajax)

104
Omu

Tous les AJAX appels effectués par jQuery auront un en-tête ajouté pour indiquer qu'il s'agit d'AJAX. L'en-tête à vérifier est X-Requested-With, et la valeur sera XMLHttpRequest lorsqu'il s'agit d'un appel AJAX.

Notez que AJAX sont des GET ou des POST normaux, donc à moins que vous (ou votre bibliothèque AJAX comme jQuery) ajoutiez un en-tête supplémentaire dans la demande, il y a aucun moyen de savoir avec certitude si c'est AJAX ou non.

69
RedFilter

Il y a aussi le Request.IsAjaxRequest Si vous utilisez une version ultérieure de MVC. Je n'ai plus la version 1 donc je ne peux pas dire si c'est dans la version 1.

Si vous avez besoin de cette vérification dans Global.asax.cs, essayez ceci: new HttpRequestWrapper(Request).IsAjaxRequest()

173
Buildstarted

Cela fonctionne pour moi dans ASP.NET MVC 3

if (Request.IsAjaxRequest())
{
     // ajax request handled
}
50
Piotr Czyż