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()フェッチされたJSONまたはその他の応答を$.get()返しません。これを取得するには、成功ハンドラーをに渡す必要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 に答える