5

好的,我有以下代码,它使用 jquery 的 $.parseJSON 从 ajax 响应中解析 JSON

try{
   var indata = $.parseJSON(rsp);
}catch(err){
   alert("an error occured");
}

现在,由于我想优雅地涵盖任何可能的错误,我尝试进行一些错误处理,通常try and catch现在这段代码不起作用。我故意做了一些格式错误的 JSON 并将其传递给,$.parseJSON但它并没有真正起作用。现在我的问题是如何优雅地处理这个错误

4

3 回答 3

8

我建议在 jquery ajax 错误回调中处理错误。如果您指定dataTypeas json,您应该在error回调中结束,而不是success如果 json 字符串格式不正确

于 2012-06-07T09:48:22.733 回答
2

代码很好,它应该可以工作,如果不尝试用 'jQuery' 代替 '$'。例如

try{
  var indata = jQuery.parseJSON(rsp);
}catch(err){
  alert("an error occured");
}
于 2015-01-21T05:43:29.500 回答
0

jQuery API 文档

在 jQuery 1.9 之前,如果 $.parseJSON 传递一个空字符串、null 或 undefined,则返回 null 而不是抛出错误,即使这些不是有效的 JSON。

您使用的是 1.9 之前的 jQuery 版本吗?

于 2013-08-30T20:11:35.093 回答