我从我的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.responseCode
或null
,并且具有不是undefined
或responseCode
的null
属性,则可以将条件简化为undefined
。oResponse != null
的检查是多余的,因为null
评估为false
。
出于相同的原因,oResponse.responseCode !== null
的检查是多余的。
对typeof oResponse === "object"
的检查是多余的,因为如果它是字符串或其他类型,则不会具有responseCode
属性。
请注意,如果oResponse.responseCode === 0
或another "falsy" value,则此条件的计算结果为false(即被认为是“无效”的responseCode)。
@snowYetis关于错误处理程序的评论也是一个好主意,以防服务器上出现错误。它不会涵盖对无效的成功响应的验证。
关于javascript - Ajax响应中的错误检查,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29400898/