Jquery IsAjaxRequest()总是返回false吗?
在控制器类中,代码ifRequest.IsAjaxRequest始终返回false。。。有人能帮我弄清楚吗?但是,如果我在cshtml页面中使用ajax.beginform,而不使用jquery文件,那么它将返回true 这是我的cshtml文件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
<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' }