目前,如果我有一个ajax请求的错误,如提交表单(我使用的是ASP.NET MVC 3),它将显示类似"内部服务器错误"的内容.
但是如果我在不使用Ajax的情况下进行提交,则.net将显示实际的服务器错误.
关于我怎么可能得到错误显示的任何想法?所以我的用户可以报告问题而不是只能说"内部服务器错误"
谢谢
Man*_*eUK 22
虽然我不建议向用户显示错误编号以及实际响应错误消息,但这是通过添加error回调来实现此目的的方法
error: function(xhr,err){
alert("readyState: "+xhr.readyState+"\nstatus: "+xhr.status);
alert("responseText: "+xhr.responseText);
}
Run Code Online (Sandbox Code Playgroud)
xhr是XmlHttpRequest.
readyState值为1:loading,2:loaded,3:interactive,4:complete.
status是HTTP状态号,即404:未找到,500:服务器错误,200:ok.
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";
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
29583 次 |
| 最近记录: |