2013-10-23 70 views
1

我剛開始將Knockout驅動的SPA轉換爲使用Durandal。由於服務器遺留,視圖通過返回ActionResult的ASP.Net MVC端點提供。在訪問當前用戶不應該訪問的路由的情況下,或者例如會話過期時,服務器將返回JSON而不是HTML。Durandal:攔截視圖加載以處理未經授權的請求(ASP.NET MVC服務器)

Durandal似乎假定HTML將始終從指定的視圖端點返回。有沒有什麼辦法可以加載視圖的過程,以便我可以處理未經授權的請求附帶的JSON?

將來服務器將更新爲使用Web API。在那一點上,我將不得不解決同樣的問題,但在這種情況下,我將不得不處理不同的響應代碼。

在此先感謝!

回答

0

下面是我認爲你可能做的, 您可以在您的viewModel中添加一個回調方法getView方法,而不是讓默認視圖定位器爲您加載視圖。在回調方法中,您可以加載視圖(使用text.js或jquery),然後完全控制您想要對非HTML響應執行的操作(可能會切換到預設的錯誤視圖等)。

更多關於Durandal Docs的信息http://durandaljs.com/documentation/Interacting-with-the-DOM/