处理json - ajax错误与适当的回退

handle json - ajax error with a proper fallback

本文关键字:回退 错误 json ajax 处理      更新时间:2023-09-26

假设我有一个用户。返回到

的web服务器上的Json文件

{
	"name” : “ivana”,
	“age” : “27”
}

那么我做:

var user = $.ajax({
      url: pathsample.com/user.json,
      data: { format: 'json' }
});

如何正确处理错误,以防万一。Json返回到"dfhsdfkjahfjd"而不是适当的对象数组(又名parsererror),或者如果web服务器是停机等?(我想实际传递一个空对象数组{}如果我的用户。Json返回错误。可以吗?)

我看到很多帖子都是这样做的:

var user = $.ajax({
      url: pathsample.com/user.json,
      data: { format: 'json' },
      error: function(jqXHR, exception) {
        console.log(jqXHR);
        or
        console.log(exception);
      }
});

但我不在乎出了什么问题,我知道这是因为我的json文件是"dsafsadfasf"而不是{"name": "ivana"等}。我如何更新我的错误到一个空数组时,我的json文件无效?

您可以处理成功,从回调中使用正确的数据设置user变量,否则user将为空对象,成功场景为1;错误场景很多,因此通过处理成功,任何其他失败发生将保证空对象:

var user = {}
$.ajax({
  url: pathsample.com/user.json,
  data: { format: 'json' },
  success: function(data) {
    user = data
  }
});