Custom IsAjaxRequest function doesn't work in MVC 6
我在MVC6控制器中检测Ajax请求时遇到问题,因为在MVC6中找不到isajaxRequest,所以我使用了以下功能:
1 2 3 4 5 6 7 8 9 | 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代码:
1 2 3 4 5 | $("ul.menu a").click(function (e) { e.preventDefault(); var url = $(this).attr("href"); $('#main-container').load(url); }); |
问题出在选择器中,因为它是错误的E.PreventDefault不能工作,请求继续正常,这就是为什么它永远不会是Ajax请求的原因。