我正在使用twitter
gem编写我的第一个Rails应用程序。我只是检索搜索结果并尝试每隔5秒左右单独循环一次。
我的想法是创建一个变量,让这个变量代表数组索引,然后用Javascript动态更新这个变量(每5秒钟左右)。在客户端实现这一目标的最佳方法是什么? AJAX?的Javascript?
这有意义吗?如果有帮助,我将很乐意提供更多背景信息。感谢。
答案 0 :(得分:3)
听起来你正试图建立某种“最近的推文”选框。在不知道您的要求的情况下,您可以尝试简单地在Rails中加载十条最新的推文,将它们放入十个隐藏的div中,然后使用jQuery循环浏览页面上的不同推文。
如果需要在没有用户刷新页面的情况下“更新”最新的推文,那么是的,您可能需要进行AJAX调用。
答案 1 :(得分:2)
很难说出你认为自己在想什么:当你的JavaScript执行时,服务器就不再参与了。
如果你想在服务器端更新某种计数并以有意义的方式保留它,你可以通过Ajax来实现。
但你到底想要做什么呢?
答案 2 :(得分:1)
Ruby在服务器上运行,而JavaScript(通常)在客户端上运行。
Ruby生成一个HTML文档(可能带有嵌入式JS),服务器将它传递给客户端。
在那个阶段,Ruby已经完成了执行。进一步使用Ruby的唯一方法是向服务器发出新的HTTP请求。这可以通过链接,提交表单,设置location.href
,使用XMLHttpRequest或许多其他技术来完成。
这将导致Ruby程序再次执行(或者执行不同的程序),这将对输入数据执行任何操作。
您不能简单地从客户端“在服务器上设置变量”。
答案 3 :(得分:0)
在我的特定情况下,我使用ruby的.to_json
方法转换数据,然后使用javascript对其进行操作。这使我可以灵活地无缝地循环数据。至少它似乎适合我的特殊情况。谢谢你的帮助!