Rails中更改鏈接觸發處理方式爲異步

爲了增加頁面刷新速度,增加頁面體驗,現在很多網站都增加了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>&nbsp;&nbsp;&nbsp;&nbsp;<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的形式返回給頁面

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章