你应该检查ajax返回数据还是让javascript在空数据上抛出错误?

时间:2015-07-21 12:03:02

标签: javascript jquery ajax

因此,当处理jquery中的成功数据时,您应该检查返回数据是否具有这样的必要数据:

success: function (data) {
    if (data.new_rank !== undefined) {
        $('._user_rank').html(data.new_rank);
    }
}

或者当它不存在时让它失败?

success: function (data) {
    $('._user_rank').html(data.new_rank);
}

在上一个示例中,您可以检查某些内容是否已更改,并且由于错误而需要修复。

哪种方法最好?

3 个答案:

答案 0 :(得分:2)

jQuery ajax请求为您提供了一种处理请求错误的方法。

$.ajax(url, {
      success: function(data) {
          // success
      },
      error: function() {
         // error
      }
   });

如果它不是您要抓住的请求错误,您仍然应该自己处理错误,而不是让javascript一直抛出它们。

答案 1 :(得分:2)

最好检查它,以及您在完整或其他事件中可能拥有的其他代码。如果你没有,他们将不会在错误后运行。你也可以检查一下:

success: function (data) {
    if (data.new_rank) {
        $('._user_rank').html(data.new_rank);
    }
}

答案 2 :(得分:0)

我要说的一个解决方案是遵循$ .ajax中的严格数据类型,例如dataType: json。 使用成功和错误处理程序。如果返回数据不是json类型,则将通过错误处理程序处理。

$.ajax(url, {
      dataType: 'json'
      success: function(data) {
          // success
      },
      error: function() {
         // error
      }
   });