[英]Sending a Javascript request in rails
我试图创建一个系统来通知用户任何新的私人消息,消息控制器的index方法创建@messages和@newmessages的实例变量,这两个变量都在index.html.erb中使用,我想这样做index.js.erb使我的网站上出现Flash消息框。
我让jquery每隔几秒钟运行一个函数,运行的函数是
function checkagain(){
//Start a Timer, dont want it bombarding the server with constant requests
$.timer(10000,function(){
$.getScript("/messages.js");
//RECURSE, see you again in 10 seconds
checkagain();
});
}
$ .getScript似乎没有使它在index.js.erb上运行代码,这很简单:
alert("RESPONDING");
我似乎无法获取它来触发该页面上的代码。
我发现/messages.js不返回任何javascript,与index.html.erb相同
控制器的索引动作是:
def index
@messages = Message.find(:all, :conditions => "receiver_id = '#{current_user.id}' AND `read` = '1'")
@newmessages = Message.find(:all, :conditions => "receiver_id = '#{current_user.id}' AND `read` = '0'")
end
尝试附加随机查询字符串以强制您的浏览器重新下载js文件:
$.getScript("/messages.js?random=" + Math.random());
您可以从消息控制器的index操作中发布一些代码吗? 如果messages.js没有返回您期望的javascript,这似乎不是jquery的问题。
您是否具有应该返回该警报调用的messages / index.js.erb视图,或者您的公共目录中某处是否有messages.js文件?
您可以看一下Juggernaut ,它可以让您使用Flash 8资源推送到客户端浏览器。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.