我对AJAX请求做出响应,但出现应用程序错误。 (例如数据验证失败)。如何注意用户?返回状态码并在客户端获取消息或直接向客户端发送错误消息
1.返回状态码,然后通过JS得到消息
$.ajax(options).done(function(response){
if (response.status === 1){
// no problem, do next action
} else {
alert (messages[response.status]);
}
});
var messages = {
'0': 'Server Error',
'-1': 'Invalid Data',
...
}
2.返回状态码,以及消息:
$.ajax(options).done(function(response){
if (response.status === 1){
// no problem, do next action
} else {
alert (response.message);
}
});
哪一个更好?或者,最佳做法是什么?请注意,我们有双语应用程序。
就我个人而言,我认为第一个更好。因为我必须至少在我的JS文件中定义一条错误消息,以便发现服务器错误。 (当AJAX请求失败时,jQuery .fail()
)因此,如果我必须这样做一次,最好将所有消息收集在一起。
如果使用选项1,请给用户一些方法来访问基础消息。 – Kolban 2014-11-08 03:35:26
@Kolban:我不能明白你的意思。你能再解释一下吗? – mrdaliri 2014-11-08 04:08:29
在您的第一个解决方案中,您通过提供自己的消息来“掩盖”从ajax调用返回的基础消息。这很好,并提供了关于这个问题的非技术背景。但是,您也正在失去可能在潜在响应消息中提供的“知识”(无论它说什么)。理想情况下,您提供两种类型的消息。第一个和主要是一个明确的用户消费信息,但另外,我还会尝试提供一种方式,让用户在需要时可以“获取”底层消息。 – Kolban 2014-11-08 04:11:43