繁体   English   中英

Rails - 执行没有表单的ajax调用和link_to,纯jQuery

[英]Rails - Execute ajax call without form and link_to, pure jQuery

我有一些div,当用户悬停这个div时,我想执行一些ajax调用,触发一些操作并写入数据库,有人徘徊该div。

没有表单和link_to,纯jQuery。

我需要最简单的例子:)

我建议为日志创建一个名为HoverLogger的新模型和控制器(或者你喜欢的任何一个)。 这样,通过调用HoverLogger控制器的create action,可以将逻辑分离并成为RESTful。

假设所需的div具有class .hoverable

$(".hoverable").hover(
    function () {
        // send ajax when mouse enters hoverable object
        $.ajax({
            type: "POST",
            url: "/hover_logger",
            data: {logged: true}, // pass any additional parameters if you need
            success: function(msg) {
                console.log(msg); // do something on success e.g. console log the message
            }
        });
    },
    function () {
        // do something when mouse leaves hoverable object
    }
);

创建操作中记录事件:

def create
    HoverLogger.create!(user_id: current_user.id)
    respond_to do |format|
        format.js { render :nothing => true }
    end
end

HoverLogger将跟踪user_id和时间戳。 还为HoverLogger create方法创建路由。

基于所选解决方案的工作代码

  $(".hoverable").hover(function(){
                console.log("hovered");
                  $.ajax({
                        type: "POST",
                        url: "/vastrodex",
                        data: {vastroman: $(this).attr('id'), vastrodexCount: 1}, // pass any additional parameters if you need
                        success: function(msg) {
                            console.log(msg); // do something on success e.g. console log the message
                        }
                    });
              },function(){
            });

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM