![](/img/trans.png)
[英]Is it impossible to download file via AJAX call in ASP.NET MVC5?
[英]Ajax call goes only one time ASP.Net MVC5
我在ASP.Net MVC5中编写一个AJAX函数,并且遇到一个问题,即表单AJAX请求仅执行一次。 这是一个搜索页面。 选择过滤器后,按搜索,我得到正确的结果。 但是,如果我更改过滤器并再次单击搜索提交,则不会发生任何事情。
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-enbw-target"));
target.replaceWith(data);
debugger;
});
return false;
};
$("form[data-enbw-ajax='true']").submit(ajaxFormSubmit);
<form method="get" id="documentForm" action="@Url.Action("Index", "DocumentSearch")" def data-enbw-ajax="true" data-enbw-target="#documentSearchResult">
<button type="submit" id="submitbtn" name="submitbtn" tabindex="100" class="k-button">
<img src="~/Content/search_small_icon.png" />
@WebResources.DocumentSearchButton
</button>
</form>
@Html.Partial("Results", @Model)
public ActionResult Index(DocumentSearchInput model)
{
if (Request.IsAjaxRequest())
{
return PartialView("Results", result);
}
return View(result);
}
我没有任何错误。 当我得到一个调试器时; 在javascript中。 新数据正确。 你能帮我么。
您将在ajax成功中替换表格。 因此,新表单将没有提交绑定。 如果您确实要执行此操作,则必须重新绑定到新表单,或者可能使用委托。
$('parentSelector').on('event', 'childSelector', function(){});
parentSelector-子元素的父元素,该子元素预先存在该子元素,通常不应在页面生命周期中删除/创建。
childSelector-元素的选择器,将在页面寿命中的某个时间点创建/更改/删除该元素。
我找到了答案。 问题不在于提交。 问题出在重写数据上。
$.ajax(options).done(function (data) {
$("#documentSearchResult").empty();
$("#documentSearchResult").html(data);
});
简单来说,我清空div,然后在里面写。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.