1

我得到了这串代码,数据是在 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数据库中确实存在该对象,则该对象data.Payload.Clerks.rspp.full_name将存在,因此我可以将其放在正确的位置(即:)#cpt_rspp_valuedata.Payload.Clerks.ddl.full_name但是,唉,如果该对象不存在,js 解释器将停止,因此,即使 next objectsdata.Payload.Clerks.rls.full_name等存在,该行也永远不会被处理。

我应该“如果”任何行,但如何?if(data.Payload.Clerks.rspp.full_name)并且if(data.Payload.Clerks.rspp.full_name != null)不解决问题。我能做些什么?

4

2 回答 2

6

您可以使用typeof javascript 运算符来检查对象是否已定义,

if(typeof data.Payload.Clerks.rspp.full_name != 'undefined')

或者

if(typeof data.Payload.Clerks.rspp != 'undefined')
于 2012-09-08T08:29:29.430 回答
3

用于检查它是否严格object

if(typeof myobject === 'object')

在你的情况下,检查string类型

if( typeof data.Payload.Clerks.rspp.full_name === 'string')

个人意见 - 你可以使用if(rspp.full_name),因为它是在更大的计划中的一个微不足道的检查。(从问题中的样子来看):)

于 2012-09-08T08:33:57.023 回答