Jquery IsAjaxRequest()总是返回false吗?

Jquery IsAjaxRequest()总是返回false吗?,jquery,ajax,asp.net-mvc,Jquery,Ajax,Asp.net Mvc,在控制器类中,代码ifRequest.IsAjaxRequest始终返回false。。。有人能帮我弄清楚吗?但是,如果我在cshtml页面中使用ajax.beginform,而不使用jquery文件,那么它将返回true 这是我的cshtml文件 <form method="get" action="@Url.Action("Index")" data-otf-ajax="true" data-otf-target="#ListOfdata"> <input type="sea

在控制器类中,代码ifRequest.IsAjaxRequest始终返回false。。。有人能帮我弄清楚吗?但是,如果我在cshtml页面中使用ajax.beginform,而不使用jquery文件,那么它将返回true

这是我的cshtml文件

<form method="get" action="@Url.Action("Index")" data-otf-ajax="true" data-otf-target="#ListOfdata">
<input type="search" name="SearchTerm"/>
<input type="submit" value="Search"/>
这是我处理ajax请求的jquery文件

$(function () {
var ajaxFormSubmit = function () {
    var form = $(this);
    var options = {
        url: $form.attr("action"),
        type: $form.attr("method"),
        data: $form.serialize()

    };
    $.ajax(options).done(function (data) {
        var $target = $($form.attr("data-otf-target"));
        $target.replaceWith(data);
    });
    return false;
};

$("form[data-otf-ajax='true']").submit(ajaxFormSubmit); });

使用jquery.unobtrusive-ajax.min.js这很可能会解决问题

确保请求中有一个ajax头:

X-Requested-With: XMLHttpRequest 
默认情况下它应该在那里,但为了更好的衡量:

header: { 'X-Requested-With': 'XMLHttpRequest' }

如果设置了此标头,Request.IsAjaxRequest将起作用。

可能的原因是jquery版本错误。请尝试使用较新版本的jquery。

您能告诉我在哪里添加它吗?这对bro没有帮助,我尽可能地添加了标题,但在执行过程中没有任何效果。
header: { 'X-Requested-With': 'XMLHttpRequest' }