请告诉我在Rails中获取初始JSON的最佳方法是什么。
现在我在$(document).ready()事件上得到它。但是用户将等待大约2或3秒钟。有更好的解决方案吗?
答案 0 :(得分:0)
如果您只想将一些JSON发送到客户端(假设可以根据要求提供),您可以将其发送到您的视图:
@some_json = {:foo => bar}.to_json
如果您的JSON依赖于DOM,则只需要使用$(document).ready()
。
答案 1 :(得分:0)
老问题,但我遇到了同样的问题。这就是我接近问题的方法,以获得绑定到Knockout的视图模型。希望它对未来的旅行者/ OP有一定的价值。
<div id="initial-content" data="<%= @initial_content%>" /> #JSON string created in controller method
<script type="text/javascript">
$(function () {
var initialContent = $.parseJSON($('#initial-content').attr('data'));
ko.applyBindings(app.product.model(initialContent), $('#content_div')[0]);
});
</script>
上面的app.product.model()只是一个获取JS对象并返回完全烘焙的Knockout视图模型的函数。
在文档准备就绪期间,您仍在加载模型,但您还没有等待文档准备好从服务器请求JSON。我认为这是你要解决的问题。如果没有,我的道歉。