在Ajax响应中检查错误

时间:2015-04-01 21:09:46

标签: javascript ajax json

我从API调用中获取了一个对象,我试图在将JSON数据呈现给我的视图之前进行错误检查。

function response(oResponse) {
        if(oResponse && oResponse!= null 
              && typeof oResponse === "object" &&  oResponse.responseCode !== null){
              // you're getting data in JSON
              // Use responseCode to proceed further
        }
}

以下是我的JSON回复

{"code": "100", "responseCode":"444", :result: "successful"}

我想知道if condition是否正确?我错过了什么或者是一个很大的条件。

1 个答案:

答案 0 :(得分:1)

您可以将条件简化为oResponse && oResponse.responseCode,如果您关心的不是null也不是undefined,并且它的responseCode属性不是null undefinedoResponse != null

  • null的检查是多余的,因为false评估为oResponse.responseCode !== null
  • 由于同样的原因,检查typeof oResponse === "object"是多余的。
  • 检查responseCode是多余的,因为如果它是字符串或其他类型,则不会有oResponse.responseCode === 0属性。

请注意,如果{{1}}或another "falsy" value,此条件将评估为false(即,这被视为“无效”responseCode)。

@snowYetis关于错误处理程序的评论也是个好主意,以防服务器上出现错误。它不会涵盖无效的成功响应的验证。