如何在rails app中发送ajax请求而不使用远程

时间:2013-12-23 12:31:29

标签: ruby-on-rails ajax erb

这很好用

<%#= link_to t('.add_html'), 'javascript:void(0);', :class => "line-item", :product => product.id %>

$('document').ready(function(){
        $(".line-item").click(function(){
            var prod = $(this).attr('product');
            $.ajax({
                url:'<%#= line_items_url %>',
                data: {product_id: prod},
                type: 'POST',
                dataType: 'script'
            });
        });
    });

但是当我使用按钮时没有任何反应。请让我知道我在这里缺少什么?

<%= button_to t('.add_html'), 'javascript:void(0);', :class => "line-item", :product => product.id %>

2 个答案:

答案 0 :(得分:0)

:remote => :true只是创建一个ajax请求;你可以自己做ajax请求没问题:

$("button").on("click", function(){
    $.ajax({
        url: $(this).attr("href");
        success: function(data) { //handle returned data },
        error: function(data)   { //handle errors }
    });
});

我认为你问了一个不同的问题(如何让你的通话工作),我可以更新答案以反映你是否希望

答案 1 :(得分:0)

您需要阻止默认:

$(document).ready(function(){
    $("button").click(function(ev){
        $.post(this.url); // I'm not sure this is correct
        ev.preventDefault();
    });
});