2011-07-14 87 views
0

我正在使用rails 2.3。我想通過ajax加載頁面的部分緩慢查詢以加快頁面加載速度。例如如何使用ajax加載緩慢頁面的某些部分以加快加載軌道的速度

<div id="count-projects"><%= Project.count%></div> 
... 
<div id="some-stuff"><%= User.count %> users and <%= Book.count%> books</div> 

我想,這樣有兩個Ajax請求,他們的反應是投入的div withs改寫上面的代碼IDS「計數項目」和「一些-東西」

回答

0

我解決它使用jquery的Ajax和負載功能,像這樣:

jQuery.ajax({url: "/controller/action_1", 
      success: function(data){ 
      jQuery("#some_id").html(data); 
      }}); 
jQuery("#some-other-id").load("/controller/action_2"); 

也,諧音視圖/控制器/ action_1.html.haml和視圖/控制器/ action_2.html.haml被用來產生元素#some_id和#some-other-id的內部html。

1

首先你」 ð必須創建一個服務器端腳本,例如返回一個JSON陣列

[ 
    {"name":"first project", "href":"abc.php"}, 
    {"name": "second project", "href":"def.php"} 
] 

當你通過URL請求它(?=行動將getProjects是一個很好的名字)。然後我會建議使用jQuery進行請求。這將使您能夠使用下面的代碼

$.getJSON(url, {action:'getProject'}, function(json){ 
    $.each(json, function(i, project) { 
     $('div#count-projects').append('<a href="' + project.href + '">' + project.name + '</a>'); 
    }); 
}); 

這將然後從服務器(由紅寶石從數據庫中創建)獲取JSON數據,並創建的鏈接等等,你需要爲你的特定解決方案的每個項目的列表。

相關問題