繁体   English   中英

使用jQuery AJAX显示正确的错误消息

[英]Show proper error messages with jQuery AJAX

当前,如果我对ajax请求有错误,例如提交表单(我正在使用ASP.NET MVC 3),它将显示类似“内部服务器错误”的信息。

但是,如果我不使用Ajax进行提交,则.net将显示实际的服务器错误。

关于如何显示错误的任何想法? 因此,我的用户可以报告问题,而不是只能说“内部服务器错误”

谢谢

尽管我不建议向用户显示带有实际响应错误消息的错误号,但是您可以通过添加error回调来做到这一点

error: function(xhr,err){
    alert("readyState: "+xhr.readyState+"\nstatus: "+xhr.status);
    alert("responseText: "+xhr.responseText);
}

xhr是XmlHttpRequest。

readyState值为1:正在加载,2:已加载,3:互动,4:已完成。

status是HTTP状态号,即404:找不到,500:服务器错误,200:正常。

responseText是服务器的响应-可以是来自Web服务的文本或JSON,也可以是来自Web服务器的HTML。

此代码将用ajax请求返回的错误替换当前页面的内容。

jQuery(document).ajaxError(function (event, request, settings) {
    if (request.status === 500) {
        $(document.body).html(request.responseText);
    } else if (request.status === 401) {
        // redirect to login, 401 means session is expired.
        window.location.href = "login page url";
    }
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM