我有一个web应用程序,并请求通过AJAX发送数据,并作为响应,我的服务器端发送HTTP状态码,视情况而定。 因此,例如,如果用户试图登录,而他的记录,我可能返回一个400 HTTP status code
。 最终我与警报等处理它
但处理这些HTTP状态代码变得过于沉重,因为我大量使用AJAX的。 这意味着我会被反复处理HTTP状态代码与每一个Ajax请求,这将导致重复的代码,这是一个不好的做法。
所以, 我正在寻找一种方法来处理在一个地方所有这些错误,所以我只是处理所有的400
, 401
等使用相同的代码。
目前我在做什么:
手动处理错误的每个AJAX调用。 通过使用statusCode
在$.ajax()
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);