Вы также можете использовать Fiddler для просмотра запросов. Так вы многому научитесь.
CrazyDart 05
Ответы:
70
Все вызовы AJAX, выполняемые jQuery, будут иметь заголовок, указывающий, что это AJAX. Заголовок для проверки есть X-Requested-With, и значение будет, XMLHttpRequestкогда это вызов AJAX.
Обратите внимание, что запросы AJAX являются обычными GET или POST, поэтому, если вы (или ваша библиотека AJAX, например jQuery) не добавляете дополнительный заголовок в запрос, невозможно точно узнать, является ли это AJAX или нет.
@Omu: Request.Headers["X-Requested-With"]или подобное. Проверьте MSDN. Заголовки всегда связаны с запросами.
Роберт Коритник 05
179
Также существует проблема, Request.IsAjaxRequestесли вы используете более позднюю версию MVC. У меня больше нет версии 1, поэтому я не могу сказать, находится ли она в версии 1.
Если вам нужна эта проверка в Global.asax.cs, попробуйте следующее:
new HttpRequestWrapper(Request).IsAjaxRequest()
@BuildStarted Мне нужна эта проверка в Global.asax.cs, так что это мне не поможет
Ому
2
@BuildStarted недоступен в Application_Error
Ому
1
Да, ты прав. Это потому, что он находится вне MVC и не использует HttpRequestBase. В этом мне не было нужды, поэтому я не смотрел слишком глубоко. Спасибо за внимание.
Сборка началась
20
новый HttpRequestWrapper (Запрос) .IsAjaxRequest ();
1
Кстати: если вы находитесь внутри настраиваемого фильтра авторизации, используйте это, чтобы получить метод IsAjaxRequest по запросу: filterContext.HttpContext.Request.IsAjaxRequest
Ответы:
Все вызовы AJAX, выполняемые jQuery, будут иметь заголовок, указывающий, что это AJAX. Заголовок для проверки есть
X-Requested-With
, и значение будет,XMLHttpRequest
когда это вызов AJAX.Обратите внимание, что запросы AJAX являются обычными GET или POST, поэтому, если вы (или ваша библиотека AJAX, например jQuery) не добавляете дополнительный заголовок в запрос, невозможно точно узнать, является ли это AJAX или нет.
источник
Request.Headers["X-Requested-With"]
или подобное. Проверьте MSDN. Заголовки всегда связаны с запросами.Также существует проблема,
Request.IsAjaxRequest
если вы используете более позднюю версию MVC. У меня больше нет версии 1, поэтому я не могу сказать, находится ли она в версии 1.Если вам нужна эта проверка в Global.asax.cs, попробуйте следующее:
new HttpRequestWrapper(Request).IsAjaxRequest()
источник
HttpRequestBase
. В этом мне не было нужды, поэтому я не смотрел слишком глубоко. Спасибо за внимание.Это работает для меня в ASP.NET MVC 3
источник
new HttpRequestWrapper(Request).IsAjaxRequest()