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)

rsppDB 内に実際に存在する場合は、オブジェクトdata.Payload.Clerks.rspp.full_nameが存在するため、適切な場所に配置できます (つまり: #cpt_rspp_value)。しかし、残念ながら、そのオブジェクトが存在しない場合、js インタープリターは停止するため、次のオブジェクトなどがあってもdata.Payload.Clerks.ddl.full_namedata.Payload.Clerks.rls.full_nameその行は処理されません。

任意の行を「if」する必要がありますが、どうすればよいですか? 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 に答える