Я ранее создал метод на своем базовом контроллере:
public bool IsJsonRequest()
{
var acceptTypes = Request.AcceptTypes;
return acceptTypes != null &&
acceptTypes.Any(a => a.Equals("application/json",
StringComparison.OrdinalIgnoreCase));
}
Тогда я наткнулся на AjaxRequestExtensions.IsAjaxRequest()
. Документация для него очень расплывчатая :
true, если указанный HTTP-запрос является AJAX-запросом; в противном случае - ложь.
Это заставило меня задуматься, что это делает с HTTP-запросом, который делает его AJAX? Есть ли что-то большее, чем проверка принятых типов запрашивающего контента, или кодирование не является обязательным условием «AJAX»?
(Обратите внимание, что в моем случае мои действия должны вызываться только со страниц JS на моем сайте, а JSON является единственной необходимой кодировкой.)