頁面報這個錯,是因?yàn)楹笈_在某個字段為空的時候,后臺不是返回空而是直接不返回這個字段,以dict_data 字段為例
正常情況下后臺返回{ "type":" A" ,"dict_data" :[ { "name": "1", "age": "1" }]},特殊情況當(dāng)這個字段為空時,后臺返回{ "type": "A"},并沒有返回"dict_data":[ ]
而前端頁面代碼沒有做 dict_data != undefined 的判斷,且在for循環(huán)里引用 CnName = dict_data[k].name;這樣就會導(dǎo)致前端頁面對象使用點(diǎn)操作獲取屬性時找不到該字段,從而報“undefined is not an object”錯誤。
解決辦法有兩種,一種是當(dāng)某字段為空時,后臺要返回該字段,只是內(nèi)容為空,而不是直接不返回該字段
第二種是前端每次在通過點(diǎn)獲取對象屬性時,都做一次該屬性 != undefined的校驗(yàn),并將其交易放在try{}catch(e){ alert(e) }塊里,即使內(nèi)部報錯也不影響外面的其他代碼