2013-03-19 180 views
4

我目前繼承了一個應用程序,其中有許多Kendo網格(以及其他控件),並且我試圖修復一個不斷出現的錯誤 - 特別是當用戶不再進行身份驗證時。Kendo UI Grid/DataSource - 全局錯誤處理?

我知道解決方案是爲控件的單個實例返回一個標誌來指示身份驗證失敗,然後在錯誤處理程序中檢測到並執行身份驗證。

問題是我真的要處理這個每個劍道控制我有?是否沒有我可以掛鉤的全局錯誤處理程序?無論是數據源本身(因爲我知道這是用於所有劍道控制數據加載),或特定的網格。我不介意 - 哪一個是鉤子。

這將是比重構一切特定錯誤處理程序更加簡單明瞭短期的解決辦法等

+0

你說全球錯誤處理'DataSource',對於'Grid',對於'Kendo'控制,...這是我不明白什麼是實際需求。它是否適用於'DataSource'? – OnaBai 2013-03-19 13:50:08

+0

對不起,我應該在我的問題中更清楚 - 我已經更新了它,以便更明確。我不介意 - 如果提供了這樣的功能,數據源級別本身應該足夠了。 – stevehayter 2013-03-19 17:05:14

回答

3

我想你可以附加一個全局錯誤處理程序$阿賈克斯,這是所使用的數據源,你可以檢查這裏怎麼辦呢: http://api.jquery.com/category/ajax/global-ajax-event-handlers/

或者,你可以採取advanttage認爲是在數據源進行直接傳遞到$阿賈克斯的配置: http://docs.kendoui.com/api/framework/datasource#configuration-transport.read-ObjectStringFunction

+0

謝謝Botis。我不知道這是可能的。我會看看,並很快回報:)。 – stevehayter 2013-03-19 17:05:53

+0

@Botus提出的建議有效。我迷上了全局jQuery ajaxComplete處理程序,它可以處理所有jQuery Ajax請求 - 無論是使用我們自己的函數還是Kendo。 如果未在服務器上進行身份驗證,我只需添加一個頭讓客戶端知道身份驗證是必需的(我無法設置狀態碼,因爲這會導致其他問題) - 然後重定向到登錄頁面。完善! – stevehayter 2013-03-20 13:09:18