답변:
jQuery가 만든 모든 AJAX 호출에는 AJAX임을 나타내는 헤더가 추가됩니다. 확인할 헤더는 X-Requested-With
이며 값은 XMLHttpRequest
AJAX 호출 일 때입니다.
AJAX 요청은 일반 GET 또는 POST이므로 사용자 (또는 jQuery와 같은 AJAX 라이브러리)가 요청에 추가 헤더를 추가하지 않는 한 AJAX인지 여부를 알 수있는 방법이 없습니다.
Request.Headers["X-Requested-With"]
또는 유사합니다. MSDN을 확인하십시오. 헤더는 항상 요청과 관련됩니다.
도 있습니다 Request.IsAjaxRequest
MVC의 당신이 사용하는 경우 이후 버전. 더 이상 버전 1이 없어서 버전 1인지 말할 수 없습니다.
Global.asax.cs에서이 확인이 필요한 경우 다음을 시도하십시오.
new HttpRequestWrapper(Request).IsAjaxRequest()
HttpRequestBase
. 그럴 필요가 없었기 때문에 너무 깊게 보지 않았습니다. 알림 주셔서 감사합니다.
ASP.NET MVC 3에서 나를 위해 작동합니다.
if (Request.IsAjaxRequest())
{
// ajax request handled
}
new HttpRequestWrapper(Request).IsAjaxRequest()