2014-01-28 342 views
2

我有一個搜索功能的應用程序。索引頁面顯示數據庫中的所有項目。另外,當我搜索我的產品時,它使用AJAX。如何將AJAX功能添加到我的分頁中?我使用Kaminari作爲我的分頁。AJAX頁面重新加載

  $(function() { 

       $("#name").autocomplete({ 
        source: "shirts/autocomplete", 
        autoFocus: false, 
        minLength: 1, 
        select: function(event,ui){ 
       document.getElementById("name").value = ui.item.value; 

        $.ajax({ 
       url:"shirts/show?name="+ui.item.value, 
       type:"GET", 
      });  
      } 
      }); 
      }); 
+0

它也取決於您的控制器。如果控制器的響應是整個頁面,它將重新加載,無論如何。只需用數據回覆JSON即可 –

回答

0

只需添加到您的分頁鏈接remote: true或用JavaScript處理它,然後在你的控制器:

if request.xhr? 
    render json: @products # ajax request 
else 
    render layout: true # standard layout 
end 

你將不得不趕在你的JavaScript 'ajax:success'和追加收到產品。

+0

我在分頁鏈接中添加了'remote:true',但它仍然無效。

<%= paginate @first, :remote => true %>
。然後在我的.js.erb文件中添加'$(「#container」)。html(「<%= escape_javascript(render」shirt/first「)%>」); ('#paginator「)。html('<%= escape_javascript(paginate(@first,:remote => true).to_s)%>');'。但是當我點擊下一個時,它說內部服務器錯誤。 – Raghuveer

+0

檢查您是否已正確通過kaminari分頁[此處](http://stackoverflow.com/questions/9016943/multiple-pagination-with-kaminari-via-ajax)。如果問題不在那裏,請粘貼您的服務器日誌所說的內容(具體是500)。 –