Wie kann ich wissen, ob die Anfrage Ajax ist? (Ich benutze jquery für Ajax)
asp.net
asp.net-mvc
ajax
Omu
quelle
quelle
Antworten:
Allen von jQuery getätigten AJAX-Aufrufen wird ein Header hinzugefügt, der angibt, dass es sich um AJAX handelt. Der zu überprüfende Header ist
X-Requested-With
und der Wert ist,XMLHttpRequest
wenn es sich um einen AJAX-Aufruf handelt.Beachten Sie, dass AJAX-Anforderungen normale GETs oder POSTs sind. Wenn Sie (oder Ihre AJAX-Bibliothek wie jQuery) der Anforderung keinen zusätzlichen Header hinzufügen, können Sie nicht sicher feststellen, ob es sich um AJAX handelt oder nicht.
quelle
Request.Headers["X-Requested-With"]
oder ähnlich. Überprüfen Sie MSDN. Header beziehen sich immer auf Anforderungen.Es gibt auch die,
Request.IsAjaxRequest
wenn Sie eine spätere Version von MVC verwenden. Ich habe keine Version 1 mehr, daher kann ich nicht sagen, ob es sich um Version 1 handelt.Wenn Sie diese Prüfung in Global.asax.cs benötigen, versuchen Sie Folgendes:
new HttpRequestWrapper(Request).IsAjaxRequest()
quelle
HttpRequestBase
. Ich hatte kein Bedürfnis danach, also habe ich nicht zu tief geschaut. Danke für die Warnung.Es funktioniert für mich in ASP.NET MVC 3
quelle
new HttpRequestWrapper(Request).IsAjaxRequest()