Javascript 改进Ajax调用添加新记录时的响应

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

我的asp.net mvc web应用程序视图中包含以下内容:-

@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回调。