我正在编写一个MVC应用程序,并决定使用Knockout.js来解决我的很多问题,但在此过程中,它却引发了一个新的问题,我无法解决。
我将所有的MVC端点转换为只返回视图,然后创建了几个其他端点来返回JSON对象。当用户浏览网站时,网站加载基本的UI框架。之后,Knockout.js通过AJAX调用加载模型。这导致每个页面都会加载,然后再次“加载”,而仅使用MVC时,页面加载并且所有数据都已经存在。
我一直在寻找同时加载两者的方法,但没有找到任何不需要我完全重构网站的方法。最好的选择是:
- 将JSON端点合并到视图端点中,并在代码后台中使用
但这样就必须放弃所有纯JSON端点。
有没有其他方法可以在服务器端将JSON端点数据传递给视图?或者有没有办法让模型和视图同时加载?
我将所有的MVC端点转换为只返回视图,然后创建了几个其他端点来返回JSON对象。当用户浏览网站时,网站加载基本的UI框架。之后,Knockout.js通过AJAX调用加载模型。这导致每个页面都会加载,然后再次“加载”,而仅使用MVC时,页面加载并且所有数据都已经存在。
我一直在寻找同时加载两者的方法,但没有找到任何不需要我完全重构网站的方法。最好的选择是:
- 将JSON端点合并到视图端点中,并在代码后台中使用
@Html.Raw(Json.Encode(object))
将模型转换为JSON但这样就必须放弃所有纯JSON端点。
有没有其他方法可以在服务器端将JSON端点数据传递给视图?或者有没有办法让模型和视图同时加载?