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

asp.net – 如何处理错误时使用jQuery.ajax()?

发布时间:2020-12-15 19:14:02 所属栏目:asp.Net 来源:网络整理
导读:使用 jQuery的 ajax method提交表单数据时,处理错误的最佳方法是什么? 这是调用可能类似的示例: $.ajax({ url: "userCreation.ashx",data: { u:userName,p:password,e:email },type: "POST",beforeSend: function(){disableSubmitButton();},complete: fu
使用 jQuery的 ajax method提交表单数据时,处理错误的最佳方法是什么?
这是调用可能类似的示例:
$.ajax({
    url: "userCreation.ashx",data: { u:userName,p:password,e:email },type: "POST",beforeSend: function(){disableSubmitButton();},complete: function(){enableSubmitButton();},error: function(xhr,statusText,errorThrown){
            // Work out what the error was and display the appropriate message
        },success: function(data){
            displayUserCreatedMessage();
            refreshUserList();
        }
});

该请求可能会失败,原因有很多,例如重复的用户名,重复的电子邮件地址等,并且ashx写入时会抛出异常。

我的问题似乎是通过抛出异常ashx导致statusText和errorThrown未定义。

我可以到达XMLHttpRequest.responseText,它包含组成标准.net错误页面的HTML。

我在responseText中找到页面标题,并使用标题来确定抛出了哪个错误。虽然我怀疑这会崩溃,当我启用自定义错误处理页面。

我应该抛出在ashx中的错误,或者我应该返回一个状态代码作为调用userCreation.ashx返回的数据的一部分,然后使用它来决定采取什么行动?
你如何处理这些情况?

解决方法

Should I be throwing the errors in the
ashx,or should I be returning a
status code as part of the data
returned by the call to
userCreation.ashx,then using this to
decide what action to take? How do you
handle these situations?

就个人而言,如果可能的话,我宁愿在服务器端处理这个问题,并向那里的用户处理消息。这在您只想向用户显示消息告诉他们发生了什么(验证消息,本质上)的情况下非常好。

但是,如果您想根据服务器上发生的情况执行操作,则可能需要使用状态代码并写一些javascript以根据该状态代码执行各种操作。

(编辑:李大同)

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

    推荐文章
      热点阅读