从javascript onclick发出ajax请求

时间:2009-06-16 15:29:19

标签: javascript ruby-on-rails ajax prototypejs

我习惯使用帮助方法link_to_remote和朋友来创建链接或按钮,这些链接或按钮将在底层发送Ajax请求并更新网页的一些数据。

我有一些背景图片是按钮。我希望他们将Ajax请求发送到我的rails服务器。 我想一个javascript onClick +发送Ajax请求应该做的魔术,但我不知道Prototype如何在Rails帮助方法下工作。

我希望这不是一个太蹩脚的问题

2 个答案:

答案 0 :(得分:2)

$("my_button").observe('click', function(){
    new Ajax.Request(url, {
                             method: 'get',
                             parameters: { "key": "value" },
                             onSuccess: function(res){
                                // handle the result
                             }
                         });
}

就是这样。

答案 1 :(得分:2)

元素上的方法是observe 此外,$()假设您使用的是ID。如果你有一组标记有类而不是id的按钮,你可以使用$$()来获取css选择器并返回一个元素数组。

您可以从中获取结果并对其进行迭代,为每个按钮添加单击行为。

$$(".bg_button").each(function(button){
    button.observe('click', function(){
        new Ajax.Request(url, {
                                 method: 'get',
                                 parameters: { key: 'value' },
                                 onSuccess: function(res){
                                    // handle the result
                                 }
                             });
    });
});

要了解有关原型如何运作的更多信息,请查看their api docs。我认为它们非常好。