Javascript JQuery解析JSON时的错误处理

Javascript JQuery解析JSON时的错误处理,javascript,jquery,json,parsing,error-handling,Javascript,Jquery,Json,Parsing,Error Handling,好的,我有以下代码,它使用jquery的$.parseJSON从ajax响应解析JSON try{ var indata = $.parseJSON(rsp); }catch(err){ alert("an error occured"); } 现在,由于我想优雅地涵盖所有可能的错误,我尝试了一些错误处理,通常是try-and-catch,现在这段代码不起作用了。我故意做了一些格式错误的JSON,并将其传递给$.parseJSON,但它实际上不起作用。现在我的问题是如何优雅地处理这

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

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

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

我建议在jquery ajax错误回调中处理错误。如果将
数据类型
指定为json,则如果json字符串的格式不正确,则应在
错误
回调中结束,而不是
成功

在jQuery 1.9之前,$.parseJSON返回null,而不是在传递空字符串、null或未定义时抛出错误,即使这些字符串不是有效的JSON


您使用的是早于1.9的jQuery版本吗?

代码很好,应该可以使用,如果不使用,请尝试使用“jQuery”代替“$”。e、 g

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

(我已经在Chrome上试过了)。实际上发生了什么?它实际上不起作用。我的萤火虫仍然捕捉到错误。如果我关掉萤火虫,它会跳过catch@JamesAllardice就我而言,这根本不起作用。。当然,这不是我真正的代码,但它是我这一部分中最接近的代码。请尝试更具体一些,而不仅仅是“不起作用”。“真的不管用”并不意味着什么。