自定义IsAjaxRequest函数在MVC 6中不起作用

时间:2017-06-02 15:35:58

标签: jquery ajax asp.net-mvc asp.net-core

我在检测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);
        });

1 个答案:

答案 0 :(得分:0)

问题出现在选择器中,因为错误的是e.preventDefault无效并且请求正常继续,这就是为什么它永远不会是ajax请求。