我得到了这段代码,数据是在ajax环境中的成功回调中返回的值:
$('#cpt_rspp_value').text(data.Payload.Clerks.rspp.full_name)
$('#cpt_ddl_value').text(data.Payload.Clerks.ddl.full_name)
$('#cpt_rls_value').text(data.Payload.Clerks.rls.full_name)
$('#cpt_mc_value').text(data.Payload.Cler.mc.full_name)
$('#cpt_se_value').text(data.Payload.Clerks.se.full_name)
如果,rspp
确实存在于DB中,则对象data.Payload.Clerks.rspp.full_name
将存在,因此我可以将其放在正确的位置(即:#cpt_rspp_value
)。
但是,唉,如果该对象不存在,js解释器将停止,因此,即使存在下一个对象data.Payload.Clerks.ddl.full_name
,data.Payload.Clerks.rls.full_name
等,该行也永远不会被处理。
我应该“if”任何一行,但如何? if(data.Payload.Clerks.rspp.full_name)
和if(data.Payload.Clerks.rspp.full_name != null)
无法解决此问题。
我该怎么办?
答案 0 :(得分:6)
您可以使用typeof javascript运算符来检查对象是否已定义,
if(typeof data.Payload.Clerks.rspp.full_name != 'undefined')
或
if(typeof data.Payload.Clerks.rspp != 'undefined')
答案 1 :(得分:3)
检查它是否严格为object
if(typeof myobject === 'object')
在您的情况下,请检查string
类型
if( typeof data.Payload.Clerks.rspp.full_name === 'string')
个人观点 - 你可以使用if(rspp.full_name)
,因为这是对更大的事物计划的一个微不足道的检查。 (从问题中看起来像):)