Ajax调用在rails app中没有按预期工作

时间:2014-04-09 12:06:17

标签: jquery ruby-on-rails ajax

在我的rails应用程序中,我有这段代码

<a data-remote="true" href="#" class: "find_product">Find product</a>

对于ajax调用我正在这样做

$(document).on('click', '.find_product', function(){     
              $.ajax({
                     url: "<%= startup_wizard_find_horse_path() %>",
                    dataType: 'script',
                    type: 'GET',
                    data: { box_no: "3"}
            });
            return false;


        });

现在当我点击上面的链接时,ajax调用被发送到当前页面操作而不是

startup_wizard_find_horse_path

为什么会发生这种情况,我该如何做到这一点?

1 个答案:

答案 0 :(得分:0)

如果您要使用数据远程,请设置href值并且不要定义点击事件,这是Rails中不显眼的JS的重点。

如果您想手动使用jQuery,请删除remote = true并将您的jQuery单击更改为此,以禁用该链接的默认行为:

$(document).on('click', '.find_product', function(event) {
  event.preventDefault();
  $.ajax({
    url: "<%= startup_wizard_find_horse_path() %>",
    dataType: 'script',
    type: 'GET',
    data: { box_no: "3"}
  });
  return false;
});

编辑:这是一篇回顾如何使用远程链接的帖子:link_to and remote => true + jquery : How? Help?