我刚刚开始将Knockout驱动的SPA转换为使用Durandal。由于服务器遗留问题,视图通过返回ActionResult的ASP.Net MVC端点提供。在访问当前用户不可用的路由的情况下,或者例如当会话过期时,服务器将返回JSON而不是HTML。
Durandal似乎假设HTML将始终从指定的视图端点返回。有没有办法让我能够加入视图的过程,以便处理未经授权的请求附带的JSON?
将来服务器将更新为使用Web API。那时,我将不得不解决同样的问题,但在这种情况下,我将不得不处理不同的响应代码。
提前致谢!
答案 0 :(得分:0)
以下是我认为您可以做的事情,
您可以在viewModel中添加回调方法getView
方法,而不是让默认视图定位器为您加载视图。在回调方法中,您可以加载视图(使用text.js或jquery),然后您可以完全控制要对非HTML响应执行的操作(可能会切换到固定错误视图等)。
Durandal Docs http://durandaljs.com/documentation/Interacting-with-the-DOM/
的更多信息