我正在使用ASP.NET MVC和AngularJS开发一个示例应用程序。
在服务器端代码中,我编写了一个Action筛选器属性,需要检查请求是否为普通请求(浏览器)或AJAX请求。
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
if ( filterContext.HttpContext.Request.IsAjaxRequest())
{
}
}
以上代码片段中提到的“IsAjaxRequest()”方法在使用 $http Angular 服务进行AJAX请求时没有返回TRUE。
我注意到该请求没有X-Requested-With头,即使添加了该头也不能解决请求问题。
注意:这不是CORS调用。
所以我的问题是:
filterContext.HttpContext.Request.IsAjaxRequest()如何判断请求是否为AJAX?
我可以检查请求头(它是否有特定的头)并确定请求是否为AJAX。这是正确且唯一的方法吗?