我在检测MVC 6控制器中的ajax请求时遇到了麻烦,因为在MVC 6中找不到IsAjaxRequest,我使用了以下函数:
public static bool IsAjaxRequest(this HttpRequest request)
{
if (request == null)
throw new ArgumentNullException(nameof(request));
var x = request.Headers["X-Requested-With"];
if (request.Headers != null)
return request.Headers["X-Requested-With"] == "XMLHttpRequest";
return false;
}
但函数总是返回false
我的jquery代码:
$("ul.menu a").click(function (e) {
e.preventDefault();
var url = $(this).attr("href");
$('#main-container').load(url);
});
答案 0 :(得分:0)
问题出现在选择器中,因为错误的是e.preventDefault无效并且请求正常继续,这就是为什么它永远不会是ajax请求。