加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc-3 – 用Response调用的Ajax.BeginForm OnFailure,而

发布时间:2020-12-16 03:58:09 所属栏目:asp.Net 来源:网络整理
导读:在我的ASP.NET MVC3应用程序中编写Ajax数据输入表单时,我有一个标准的Ajax错误处理程序,类似于: function handleAjaxError(ajaxContext) { var response = ajaxContext.get_response(); var statusCode = response.get_statusCode(); alert("Request failed
在我的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)
}

控制器操作返回PartialViewResult.目前的HTTP异常是500,因为我还没有创建视图.

谢谢!

解决方法

Is this a known behavior change in MVC3,maybe?

是的,ASP.NET MVC 3使用不引人注目的jQuery用于AJAX,这与使用Microsoft * .js的先前版本相反.所以传递给错误处理程序的第一个参数是jqXHR对象.

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读