我正在通過使用JavaScript向DOM添加一個<script>
標記,並將該URL包含爲src
,從而進行跨域JSON(P)調用。被加載的腳本有一個回調,它在我的頁面上調用一個函數,我想要的數據作爲參數返回給函數。從包含的JavaScript文件中檢測404錯誤
有2個漁獲,但:
- 有時JSONP頁面會返回一個400或404錯誤。
- 同樣JSONP文件可以多次請求在同一頁上(每次返回不同的數據)
所以,我需要回調函數時不會觸發檢測(這表明JSONP文件返回一個錯誤),但我也需要說明可以請求兩次相同文件的事實。實質上,我需要在加載頁面時檢測到錯誤,但在其他文件完成加載之前我必須執行此操作。是的,這些文件應該以正確的順序加載(或返回一個錯誤)。
一(低效)溶液:
我可以使一束要求爲每個不同的文件負載(例如callbackFunction0,callbackFunction1等),不同的功能。這樣,我可以簡單地確定其中一個函數何時不會觸發,並讓我的JavaScript不起作用。然而,這會佔用很多空間並且效率低下,因爲我必須在腳本在同一頁面上加載的最長時間內有一個回調函數(這個數字沒有明確的值,所以如果我只有15個函數和腳本被請求了20次,會發生錯誤)。
這是很難解釋,但希望你有想法。謝謝。
我不使用jQuery(不幸)。此外,這是跨域的工作嗎? – Gus
這個**是**'jsonp',它跨域工作。 –