Rails中更改链接触发处理方式为异步

前端之家收集整理的这篇文章主要介绍了Rails中更改链接触发处理方式为异步前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

为了增加页面刷新速度,增加页面体验,现在很多网站都增加了ajax运用,这篇文章主要是介绍怎么在Rails项目中增加ajax运用,

首先我们要修改a标签链接调用方式,代码如下

  1. $(document).ready(function () {
  2. $("#superUnitId").find("a").each(function (i) {
  3. $(this).click(function () {
  4. $.ajax({
  5. type: "post",url: $(this).attr("href"),dataType: "json",success: function (data) {
  6. $("#secondaryLi").empty();
  7. for (var i = 0; i < data[1].length; i++) {
  8. var liObj = "<li>&nbsp;&nbsp;&nbsp;&nbsp;<a tabindex=\"-1\" href=\"/Metadata?sname=" + encodeURIComponent(data[0] + "-" + data[1][i].name) +
  9. "\">" + data[1][i].name + "</a>" +
  10. "</li>"
  11. $("#secondaryLi").append(liObj);
  12. }
  13. }
  14. });
  15. return false;
  16. });
  17. });
  18. });

jquery将a标签的触犯结果截取为AJax的方式,并将回调函数的值渲染到页面

后台controllers方法

  1. def get_secondary_unit
  2. @unit = SecondaryUnit.find_all_by_primary_unit_id(params[:id])
  3. @primary = PrimaryUnit.find(params[:id]).name
  4. respond_to do |format|
  5. format.js
  6. format.json { render :json => [@primary,@unit] }
  7. end
  8. end

Rails很容易将返回页面数据用json的形式返回给页面

猜你在找的Ajax相关文章