在我的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
为什么会发生这种情况,我该如何做到这一点?
答案 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?