爲了增加頁面刷新速度,增加頁面體驗,現在很多網站都增加了ajax運用,這篇文章主要是介紹怎麼在Rails項目中增加ajax運用,
首先我們要修改a標籤的鏈接調用方式,代碼如下
$(document).ready(function () { $("#superUnitId").find("a").each(function (i) { $(this).click(function () { $.ajax({ type: "post", url: $(this).attr("href"), dataType: "json", success: function (data) { $("#secondaryLi").empty(); for (var i = 0; i < data[1].length; i++) { var liObj = "<li> <a tabindex=\"-1\" href=\"/metadata?sname=" + encodeURIComponent(data[0] + "-" + data[1][i].name) + "\">" + data[1][i].name + "</a>" + "</li>" $("#secondaryLi").append(liObj); } } }); return false; }); }); });
jquery將a標籤的觸犯結果截取爲AJax的方式,並將回調函數的值渲染到頁面上
後臺controllers方法
def get_secondary_unit @unit = SecondaryUnit.find_all_by_primary_unit_id(params[:id]) @primary = PrimaryUnit.find(params[:id]).name respond_to do |format| format.js format.json { render :json => [@primary, @unit] } end end
Rails很容易將返回頁面數據用json的形式返回給頁面