Durandal:拦截视图加载以处理未经授权的请求(ASP.NET MVC服务器)

时间:2013-10-23 08:37:11

标签: asp.net-mvc knockout.js authorization durandal

我刚刚开始将Knockout驱动的SPA转换为使用Durandal。由于服务器遗留问题,视图通过返回ActionResult的ASP.Net MVC端点提供。在访问当前用户不可用的路由的情况下,或者例如当会话过期时,服务器将返回JSON而不是HTML。

Durandal似乎假设HTML将始终从指定的视图端点返回。有没有办法让我能够加入视图的过程,以便处理未经授权的请求附带的JSON?

将来服务器将更新为使用Web API。那时,我将不得不解决同样的问题,但在这种情况下,我将不得不处理不同的响应代码。

提前致谢!

1 个答案:

答案 0 :(得分:0)

以下是我认为您可以做的事情, 您可以在viewModel中添加回调方法getView方法,而不是让默认视图定位器为您加载视图。在回调方法中,您可以加载视图(使用text.js或jquery),然后您可以完全控制要对非HTML响应执行的操作(可能会切换到固定错误视图等)。

Durandal Docs http://durandaljs.com/documentation/Interacting-with-the-DOM/

的更多信息