2017-04-09 49 views
0

我正在從一個API請求數據的項目。假設我在一個HTTP請求中獲取演員數據列表(包含圖片URL)。一些演員的圖片網址已損壞,無法使用。這種情況使我的項目有點混亂。如何忽略部分JSON數據,如果其圖像URL中斷

有什麼辦法可以跳過那些圖像不可用的演員,並訪問其圖像可用的所有其他演員的數據?

代碼示例將不勝感激

+0

是'獲得演員列表一個http請求或多個http請求?演員響應數據是否包含他/她的圖片網址,並且您使用此網址來獲取圖片? 「通過訪問所有這些特定請求」是什麼意思? – shaochuancs

+0

是的。這是一個單一的http獲取響應,其中演員的姓名和圖片URL採用JSON格式。是的,我使用URL來獲取圖像。通過訪問所有這些特定請求,我的意思是,特定演員名稱的JSON數據的圖像URL不會在JSON演員詳細信息數組列表中破壞。 – 9094US

回答

0

有2個解決方案爲您的問題。

  1. 一旦演員的圖片URL被破壞,請使用默認圖片作爲其src。代碼如下:<img src="actorX.jpg" onerror="this.src='defaultActor.jpg'">

  2. 一旦演員的圖片網址被破壞,隱藏整個演員內容。代碼如下:<img onerror="window.hideErrorActor(this)" src="actorX.jpg">。例如製作一個jsfiddle。如果您需要,請檢查它。

這些2個解決方案的關鍵是img元件的onerror事件處理程序。當圖片加載失敗時(例如網址中斷),img元素將觸發error事件,並且註冊到onerror屬性的功能將會運行。在功能裏面,你可以做任何你想做的事情。

+0

這工作正常。當我在angularJS中使用ng-repeat來處理來自JSON數據的圖像URL時,如何實現它? – 9094US

+0

如果你在AngularJS中使用'ng-repeat'來渲染演員的內容,你可以給每個演員塊一個'id'(無論是來自JSON數據還是來自'$ index'),並且當' onerror'發生。 – shaochuancs

+0

@ 9094US是你的問題解決了嗎?如果是的話,也許你可以「接受」這個答案? – shaochuancs