【发布时间】:2015-06-19 18:36:12
【问题描述】:
我有一个网络应用程序,通过 AJAX 请求和发送数据,作为响应,我的服务器端根据情况发送 HTTP 状态代码。例如,如果用户在登录时尝试登录,我可能会返回400 HTTP status code。最终我用警报等方式处理它。
但处理这些 HTTP 状态代码变得过于繁重,因为我大量使用 AJAX。这意味着我将在每个 AJAX 请求中重复处理 HTTP 状态代码,这将导致代码重复,这是一种不好的做法。
所以,我正在寻找的是一种在一个地方处理所有这些错误的方法,所以我只需使用相同的代码处理所有400、401 等。
我目前在做什么:
为每个 AJAX 调用手动处理错误。通过在$.ajax() 中使用statusCode。
statusCode: {
500: function(data) {
alert('Some friendly error message goes here.');
}
随着我的 Web 应用程序的开发以及创建更多的 ajax 调用,这对我来说似乎有点过头了。我将一次又一次地重复这段代码。
目前,我唯一的想法是创建一个可以在 AJAX 之上运行的函数,例如:
function doAjax(type,url, data, moreVars) {
//this function is just a SIMPLE example, could be more complex and flexible.
$.ajax({
type: type,
url: url,
data: data,
moreOptions:moreVars,
//now handling all status code.
statusCode: {
//handle all HTTP errors from one place.
}
});
}
doAjax("POST", 'mydomain.com/login.php', dataObj);
【问题讨论】:
标签: javascript jquery ajax http http-status-codes