【问题标题】:Durandal: intercept view loading to handle unauthorized requests (ASP.NET MVC server)Durandal:拦截视图加载以处理未经授权的请求(ASP.NET MVC 服务器)
【发布时间】:2013-11-01 10:35:18
【问题描述】:

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

Durandal 似乎假设 HTML 将始终从指定的视图端点返回。有什么方法可以让我加入到加载视图的过程中,以便处理未经授权请求附带的 JSON?

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

提前致谢!

【问题讨论】:

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


    【解决方案1】:

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

    更多信息请访问 Durandal Docs http://durandaljs.com/documentation/Interacting-with-the-DOM/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-11-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多