我从我的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是否正确?我是否在其中缺少某些东西,或者这是一个很大的状况。

最佳答案

如果您关心的只是它不是oResponse && oResponse.responseCodenull,并且具有不是undefinedresponseCodenull属性,则可以将条件简化为undefined


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


请注意,如果oResponse.responseCode === 0another "falsy" value,则此条件的计算结果为false(即被认为是“无效”的responseCode)。

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

关于javascript - Ajax响应中的错误检查,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29400898/

10-09 20:22