2

控制器:

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 输出:http: //i.imgur.com/zaaIx.png

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

我已经设法通过用静态变量替换这个动态变量来将它隔离到这个代码中(在这种情况下它的行为符合预期)

4

1 回答 1

4

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

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

有关信息,请参阅getJSONjquery 文档

$.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);
});
于 2012-05-20T02:26:30.730 回答