如何处理生产中的ajax错误?

时间:2017-02-24 09:13:34

标签: jquery ajax vuejs2 vue.js

在开发中,我通常做这样的事情:

fetchFaqData() {
  this.$http.get('/services/getfaq').then((response) => {
    this.faqs = response.data;
}, (response) => {
    console.log(response);
  });
}

当您在开发中工作以查看ajax请求是否出错时,这很好。你怎么处理生产中的这段代码呢?

我认为通过console.log在生产中显示它可能不明智或者更好。在这种情况下人们做什么?

将其写入日志文件或其他内容?我通常在我的代码中使用了很多这些ajax块,我在console.log中输出错误响应。我也看到了这样的例子。人们只是在完成代码时将其记录下来并将其记录到日志或其他内容中吗?或者最好从一开始就这样做?

感谢。

2 个答案:

答案 0 :(得分:1)

我发现自己处于相同的情况,幸运的是我正在获取JSON内容,因此我不得不截取并验证响应:

   this.$http.get('/api/json').then((response) => {
    var json = JSON.parse(response.body); 

    if(!json){
        // alert error or do something
    }

   }, (response) => {
    // console.log(response);
  });

希望有人能为我们两个人提供更好的答案

答案 1 :(得分:1)

这取决于您通常会以两种方式处理错误:

  1. 如果错误不影响系统和用户体验的工作流程,您可能会忽略它。如果它是重要的,您将能够分析来自服务器的日志,并查看它为什么响应错误。否则,如果它是客户端问题 - 好吧,写测试配对或要求用户报告错误:)

  2. 如果错误确实会影响系统或用户体验的工作流程,您可能希望处理错误并尝试确保您的用户体验不会受到影响。

  3. 示例:

    如果您从服务器请求不存在的个人资料图片,请尝试使用一些后备用户图标。

    如果您的服务器崩溃并且响应超时,您可以显示一些通知/对话框/消息,说明" Ooups,某些内容出错"。

    总结:

    如果对于他们的体验很重要,则向用户显示人类可读的错误。

    客户端-ajax错误在与某些服务器配对失败之前并不是非常重要,因为例如,一个服务器连接错误且他的呼叫可能失败。

    希望你会发现它很有用。