我們可以通過HTTP請求頭來判斷是否為Ajax請求,Ajax請求的request headers里都會有一個key為x-requested-with
,值為XMLHttpRequest
的header
所以我們可以添加一個擴展方法:
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”的,那么上面的判斷方法肯定是不適用的,解決辦法之一只可以考慮加上這個請求頭