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的形式返回给页面

相关文章

JS原生Ajax操作(XMLHttpRequest) GET请求 POST请求 兼容性问题 利用iframe模拟ajax 实现表单提交的返回...
AJAX 每日更新前端基础,如果觉得不错,点个star吧 &#128515; https://github.com/WindrunnerMax/E...
踩坑Axios提交form表单几种格式 前后端分离的开发前后端, 前端使用的vue,后端的安全模块使用的SpringSe...
很早就听闻ajax的名声,但是却一直不知道怎么用,今天自己捣鼓了一下,竟然会用了,哈哈哈哈。 为了防止...
需要在服务器上进行哈 jquery的ajax方法: // jquery请求 $.ajax({ url: &quot;./server/slider.js...
Ajax函数封装ajax.js // Get / Post // 参数 get post // 是否异步 // 如何处理响应数据 // URL // var...