Javascript 改进Ajax调用添加新记录时的响应
我的asp.net mvc web应用程序视图中包含以下内容:-Javascript 改进Ajax调用添加新记录时的响应,javascript,jquery,asp.net,ajax,asp.net-mvc,Javascript,Jquery,Asp.net,Ajax,Asp.net Mvc,我的asp.net mvc web应用程序视图中包含以下内容:- @using (Ajax.BeginForm("CreateVMNetwork", "VirtualMachine", new AjaxOptions { InsertionMode = InsertionMode.InsertBefore, UpdateTargetId = "networktableBody", LoadingElementId = "progress", HttpMethod
@using (Ajax.BeginForm("CreateVMNetwork", "VirtualMachine", new AjaxOptions
{
InsertionMode = InsertionMode.InsertBefore,
UpdateTargetId = "networktableBody",
LoadingElementId = "progress",
HttpMethod= "POST",
}))
{
@Html.ValidationSummary(true)
@Html.HiddenFor(model=>model.TechnologyIP2.TechnologyID)
@Html.AntiForgeryToken()
<div>
<span class="f">IP Address</span>
@Html.EditorFor(model => model.TechnologyIP2.IPAddress)
@Html.ValidationMessageFor(model => model.TechnologyIP2.IPAddress)
<span class="f"> MAC Address</span>
@Html.EditorFor(model => model.TechnologyIP2.MACAddress)
@Html.ValidationMessageFor(model => model.TechnologyIP2.MACAddress)
</div>
<input type="submit" value="Save" class="btn btn-primary"/>
}
<div id ="CreateEditNetwork"></div>
<p><img src="~/Content/Ajax-loader-bar.gif" class="loadingimage" id="progress" /></p>
<table id= "networktable">
@使用(Ajax.BeginForm(“CreateVMNetwork”,“VirtualMachine”,新的AjaxOptions
{
InsertionMode=InsertionMode.InsertBefore,
UpdateTargetId=“networktableBody”,
LoadingElementId=“进度”,
HttpMethod=“POST”,
}))
{
@Html.ValidationSummary(true)
@Html.HiddenFor(model=>model.TechnologyIP2.TechnologyID)
@Html.AntiForgeryToken()
IP地址
@EditorFor(model=>model.TechnologyIP2.IPAddress)
@Html.ValidationMessageFor(model=>model.TechnologyIP2.IPAddress)
MAC地址
@EditorFor(model=>model.TechnologyIP2.MACAddress)
@Html.ValidationMessageFor(model=>model.TechnologyIP2.MACAddress)
}
上面将调用创建新记录并返回表行的操作方法:-
<tr id="@Model.ID">
<td> @Model.IPAddress</td>
<td>@Model.MACAddress</td>
<td>@Ajax.ActionLink("Delete",
"DeleteNetworkInfo", "VirtualMachine",
new { id = Model.ID },
new AjaxOptions
{ Confirm = "Are You sure You want to delete (" + Model.IPAddress + ")" + "( " + Model.MACAddress + ").",
HttpMethod = "Post",
OnSuccess = "deletionconfirmation",
OnFailure = "deletionerror"
})</td>
</tr>
@Model.IPAddress
@Model.MACAddress
@ActionLink(“删除”,
“删除网络信息”、“虚拟机”,
新的{id=Model.id},
新选择
{Confirm=“是否确实要删除(“+Model.IPAddress+”)+”(“+Model.MACAddress+”)”,
HttpMethod=“Post”,
OnSuccess=“删除确认”,
OnFailure=“deletionerror”
})
上面的方法工作得很好,但有时用户不会注意到表中添加了新行,因此我如何改进Ajax响应,以便通知用户记录已成功添加?
谢谢用户怎么没有注意到?是否将新行添加到表的末尾?如果您想通知用户,我建议使用某种警报或通知脚本,可以从OnSuccess调用(这是一个ajax选项,可以与现有选项一起添加),该行将位于表的开头,但对用户来说仍然不是很清楚。.好的。我绝对建议利用OnSuccess回调通知用户只有在成功响应返回时才会触发OnSuccess。OnFailure将捕获不成功的响应。如果您的服务失败,它不应该发回200代码。是的-如果成功,您将在ajax响应中看到部分视图,然后它将触发OnSuccess回调。如果在您的控制器上捕获到异常,它将返回错误代码,从而命中onFailure回调。