rails xhr.send((options.hasContent&& options.data)|| null);错误

时间:2017-08-16 09:43:12

标签: javascript jquery ruby-on-rails ruby ajax

我试图为每个食谱制作相似的按钮

但如果我点击按钮浏览器说

xhr.send((options.hasContent&& options.data)|| null);

返回此错误

我不知道为什么会发生这个错误

这是我在rails中的代码

application.js

function like(id){
    $.ajax({
        url:"/like/" + id,
        type:"POST",
        dataType:"json",
        success: function(data){
            if(data.result){
                $("#countlike").html("likes " + data.count);
                // $("#count").removeAttr('onclick');
                // $("#count").attr('disabled', 'disabled');
            }
        }
    });
}

route.rb

post '/like/:id'=>'recipes#like' 

views/recipes/show.html.erb

<p>
  <a id = "countlike" onclick="like(<%=@recipe.id%>)">Like it</a>
</p>

recipes_controller.rb

  def like
      likes = Recipe.find(params[:id]).likes           
      result = likes.create 
      render json:{result: result, count: likes.count}
  end

它在其他项目相同的代码中正常工作

1 个答案:

答案 0 :(得分:2)

在发布可能导致错误的ajax请求时,您似乎错过了数据属性。

function like(id){
    $.ajax({
        url:"/like/" + id,
        type:"POST",
        dataType:"json",
        data: my_data, // <--- HERE
        success: function(data){
            if(data.result){
                $("#countlike").html("likes " + data.count);
                // $("#count").removeAttr('onclick');
                // $("#count").attr('disabled', 'disabled');
            }
        }
    });
}

希望它有所帮助。干杯!