gpt4 book ai didi

asp.net-mvc-3 - 使用 Response 调用 Ajax.BeginForm OnFailure,而不是 AjaxContext

转载 作者:行者123 更新时间:2023-12-02 13:12:28 24 4
gpt4 key购买 nike

在我的 ASP.NET MVC3 应用程序中编写 Ajax 数据输入表单时,我有一个标准的 Ajax 错误处理程序,大致如下:

function handleAjaxError(ajaxContext) {
var response = ajaxContext.get_response();
var statusCode = response.get_statusCode();
alert("Request failed, status code " + statusCode);
}

出于某种原因,我现在发现发送到handleAjaxError 的参数不是Ajax 上下文,而是Response 对象本身。

这可能是 MVC3 中已知的行为变化吗?这是表单设置(如果相关的话):

@using (Ajax.BeginForm("Create", "Attendance", null, new AjaxOptions
{ OnFailure = "handleAjaxError",
OnSuccess = "alert('success')" },
new { id = "frmCreateException" }))
{
@Html.EditorFor(m => Model)
}

Controller 操作返回 PartialViewResult。目前的 HTTP 异常是 500,因为我还没有创建 View 。

谢谢!

最佳答案

Is this a known behavior change in MVC3, maybe?

是的,ASP.NET MVC 3 使用不显眼的 jQuery 来处理 AJAX 内容,这与之前使用 Microsoft*.js 的版本相反。因此传递给错误处理程序的第一个参数是 jqXHR 对象。

并获取响应文本和状态代码:

alert(ajaxContext.status);
alert(ajaxContext.responseText);

关于asp.net-mvc-3 - 使用 Response 调用 Ajax.BeginForm OnFailure,而不是 AjaxContext,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7457104/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com