我们可以通过HTTP请求头来判断是否为Ajax请求,Ajax请求的request headers里都会有一个key为x-requested-with
,值为XMLHttpRequest
的header
所以我们可以添加一个扩展方法:
代码语言:javascript复制public static bool IsAjax(this HttpRequest req)
{
bool result = false;
var xreq = req.Headers.ContainsKey("x-requested-with");
if (xreq)
{
result = req.Headers["x-requested-with"] == "XMLHttpRequest";
}
return result;
}
调用的时候直接 Request.IsAjax();
就行了
Request为 HttpRequest 对象实例
如果你使用的前端框架不是Jquery之类的在ajax请求上带了头“x-requested-with”的,那么上面的判断方法肯定是不适用的,解决办法之一只可以考虑加上这个请求头