我有一個Listing#index頁面,其中顯示50個列表。我想要一個「更多」按鈕來觸發javascript來查詢我的MySql數據庫以獲取更多列表,然後附加到現有的50個列表,而無需刷新頁面。使用javascript查詢額外的Rails數據
我應該怎麼辦?我正在使用Rails和jQuery。我知道Rails,但是JavaScript是新的。
非常感謝您的幫助。
我有一個Listing#index頁面,其中顯示50個列表。我想要一個「更多」按鈕來觸發javascript來查詢我的MySql數據庫以獲取更多列表,然後附加到現有的50個列表,而無需刷新頁面。使用javascript查詢額外的Rails數據
我應該怎麼辦?我正在使用Rails和jQuery。我知道Rails,但是JavaScript是新的。
非常感謝您的幫助。
有很多方法可以解決這個問題。
1您可能會渲染一個「... js.erb」模板,它將使用append方法(http://api.jquery.com/append/)或其他操作邏輯來執行一些jquery代碼。不要忘記將遠程屬性設置爲您的按鈕。我認爲這種方法對你來說最簡單。
例如:
在控制器:
def get_posts
@posts.all # or something you need
render "_get_posts.js.erb"
end
_get_posts.js.erb:
<% @posts.each do |post| %>
$('#posts').append("<%= post.title %>");
<% end %>
此外,在js.erb您可能導致部分或你想要的東西。
2綁定邏輯單擊按鈕事件(http://api.jquery.com/click/),而不是通過各種方式將ajax查詢發送到服務器(http://api.jquery.com/ category/ajax /),比渲染你選擇的數據(json,html,xml)和在ajax的回調函數中的客戶端捕獲它並追加到你的頁面。
非常感謝您的詳細建議。我對JavaScript很陌生,所以我仍然爲第二步而努力。你能舉一個很快的例子說明我應該怎麼做? – AdamNYC 2012-02-20 03:30:16
分頁是你的朋友。 Google「分頁欄」。有很多選擇。 – 2012-02-19 05:43:34
謝謝馬克。我不能在我的情況下使用分頁。 – AdamNYC 2012-02-19 16:30:55