RubyonRails:从Javascript文件中的控制器获取json

RubyonRails:从Javascript文件中的控制器获取json,javascript,jquery,ruby-on-rails,json,Javascript,Jquery,Ruby On Rails,Json,在我的控制器中,我有一些json: 投票权(u controller.rb): def create ... vote_status = current_user.user_votes.pluck(:recipient_uid).include?(@user.uid) render json: vote_status end 我需要在javascript文件中获取投票状态 vows.js: jQuery(function($) { $(".doWant").click( fun

在我的控制器中,我有一些json:

投票权(u controller.rb):

def create
  ...
  vote_status = current_user.user_votes.pluck(:recipient_uid).include?(@user.uid)
  render json: vote_status
end
我需要在javascript文件中获取
投票状态

vows.js:

jQuery(function($) {
  $(".doWant").click( function () {
    var status = vote_status.evalJSON();
    var uid = $(this).parents("#dialog")[0];
    var username = $(this).parents("#dialog")[0];
    if(confirm("Are you sure?")) {
      $.ajax({
        url: '/votes' + "?uid=" + $(uid).attr("data-user-uid") + "&username=" + $(username).attr("data-user-username"),
        type: 'POST',
        success: function(data) {
          console.log(data)
        }
      });
    };
  });
});
但是有一个错误
未捕获引用错误:未定义投票状态
。我做错了什么


谢谢

您没有定义此变量:

var status = vote_status.evalJSON();
您必须定义该变量

似乎您希望该代码进入
success
函数,该函数返回来自ajax调用的数据作为该函数的第一个参数:

success: function(data) {
  console.log(data)
}

您没有定义此变量:

var status = vote_status.evalJSON();
您必须定义该变量

似乎您希望该代码进入
success
函数,该函数返回来自ajax调用的数据作为该函数的第一个参数:

success: function(data) {
  console.log(data)
}

在success json回调中返回投票状态,初始化该状态

$.ajax({
    url: '/votes' + "?uid=" + $(uid).attr("data-user-uid") + "&username=" + $(username).attr("data-user-username"),
    type: 'POST',
    success: function(data) {
      var status = JSON.parse(data);
    }
  });

在success json回调中返回投票状态,初始化该状态

$.ajax({
    url: '/votes' + "?uid=" + $(uid).attr("data-user-uid") + "&username=" + $(username).attr("data-user-username"),
    type: 'POST',
    success: function(data) {
      var status = JSON.parse(data);
    }
  });

如何/何时调用该
投票\控制器
操作?var status=vote\ U status.evalJSON()中的投票\状态在哪里;定义?@这是我的问题。我不清楚我应该如何定义它,在哪里定义它。如何从javascript中的控制器获取json?如何/何时调用
vote\u controller
操作?var status=vote\u status.evalJSON()中的vote\u status在哪里;定义?@这是我的问题。我不清楚我应该如何定义它,在哪里定义它。如何从javascript中的控制器获取json?但如何定义此变量?我需要从
vote\u controller
@Gvcci获取json值
data
变量包含呈现的
vote\u状态
数据。但是我应该如何定义此变量?我需要从
vote\u controller
@Gvcci获取json值
data
变量包含呈现的
vote\u状态
数据。