[英]Check if an object (not an element) really exists with js/jQuery
我得到了以下代碼字符串,數據是在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_value
)。 但是,可惜的是,如果該對象不存在,則js解釋器將停止,因此,即使下一個對象data.Payload.Clerks.ddl.full_name
, data.Payload.Clerks.rls.full_name
等等,也將是目前,該行將永遠不會被處理。
我應該“如果”有任何行,但是如何? if(data.Payload.Clerks.rspp.full_name)
和if(data.Payload.Clerks.rspp.full_name != null)
無法解決問題。 我能做什么?
您可以使用typeof javascript運算符檢查是否定義了對象,
if(typeof data.Payload.Clerks.rspp.full_name != 'undefined')
要么
if(typeof data.Payload.Clerks.rspp != 'undefined')
用於檢查是否嚴格來說是一個object
if(typeof myobject === 'object')
根據您的情況,檢查string
類型
if( typeof data.Payload.Clerks.rspp.full_name === 'string')
個人觀點-您可以只使用if(rspp.full_name)
因為這在較大的方案中是很簡單的檢查。 (從問題中看起來):)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.