[英]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.