jquery - 使用 $.getJSON 将 Rails 渲染的 JSON 拉入 JavaScript(作为 JSON 对象)

标签 jquery ruby-on-rails ajax json

Controller :

def get_nodes
  ...
  render :text => nodes.to_json.to_s
end

它呈现有效的 JSON(它由我的 chrome 插件拾取并解析)

我在我的 JS 中使用它:

var nodes = $.get('http://localhost:3000/users/get_nodes/4fb2739045a86e0c5c000002');
console.log(nodes); 

console.log 输出:/image/2l7pX.png

我能够成功获取数据,但我想要的只是将“responseText”保存到“nodes”变量中。

我通过用静态变量替换这个动态变量,成功地将其与此代码隔离(在这种情况下,它的行为符合预期)

最佳答案

$.getJSON()$.get() 不会返回获取的 JSON 或其他响应。要检索它,您需要将成功处理程序传递给 getJSON() ,并且当数据可用时网络操作完成后它将被调用。

您还需要知道该函数通常是异步的,这意味着它会立即返回,一段时间后将使用检索到的数据调用您的成功处理程序。

请参阅getJSON jquery doc获取信息。

$.getJSON('http://localhost:3000/users/get_nodes/4fb2739045a86e0c5c000002', function(data) {
    // you can access your data here in the "data" variable passed to this success handler
    console.log(data);
});

关于jquery - 使用 $.getJSON 将 Rails 渲染的 JSON 拉入 JavaScript(作为 JSON 对象),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10670288/

相关文章:

ruby-on-rails - 以逻辑运算符 AND/OR/NOT 结尾的 Sunspot/Solr 查询会导致错误

ruby-on-rails - Rails3 重定向到用户身份验证之前的操作? (before_filter & store_location)

javascript - 为什么预编译的普通 JS 脚本中的 const 没有在我的 Rails 应用程序中定义,但当我删除 const 关键字时却可以工作

javascript - json数据显示在表格中

javascript - 使用 JQuery 搜索 JSON 对象

javascript - 获取 div 中的所有元素并使用 Tab 键在该 div 中导航这些元素

javascript - .load() 的 .ajax() 等价物是什么?

javascript - jQuery Ajax 数据显示双重使用追加

javascript - 如何自动换行 URL?

javascript - 完全禁用给定范围之外的日期