javascript - ruby rails : Get json from controller in Javascript file

标签 javascript jquery ruby-on-rails json

在我的 Controller 中我有一些 json:

votes_controller.rb:

def create
  ...
  vote_status = current_user.user_votes.pluck(:recipient_uid).include?(@user.uid)
  render json: vote_status
end

我需要在 javascript 文件中获取 vote_status

投票.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)
        }
      });
    };
  });
});

但是出现错误Uncaught ReferenceError: vote_status is not defined。我做错了什么?

谢谢!

最佳答案

你没有定义这个变量:

var status = vote_status.evalJSON();

您必须定义该变量。

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

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

关于javascript - ruby rails : Get json from controller in Javascript file,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22493740/

相关文章:

javascript - 加载页面时模拟单击 SVG 文件

jquery - 如何使用 jQuery 播放 wav 音频文件?为什么wav文件无法解码?

javascript - 将 forEach 循环中内置的数组数据写回原始对象

javascript - 我正在尝试将 ajax 变量传递到数据库

javascript - 为什么我不能使用 <template> 作为 angular2 组件模板?

javascript - 如何将 Controller 数据传递到组件并在 ember js 中备份

javascript - 使用ajax分配外部变量

ruby-on-rails - 如何访问模型子项的不同父项

ruby-on-rails - RSPEC 让替代范围界定

ruby-on-rails - 在 Rails Controller 中,在 'map.do' 循环中创建新索引失败,但在 Ruby 中没问题