2016-05-06 8 views
-2

私は以下のコードを持っています。私は最初の呼び出しの外側のjsonにアクセスしたいと思います。responseJSONオブジェクトにアクセスできない

var crimes = $.getJSON('url'); 

console.log(crimes); 

コンソールは「responseJSON」要素を持つオブジェクトをログに記録しますが、アクセスできません。コード:

は、respponseJSONが定義されていないというエラーを返します。私は、この大規模なデータセットを別のものの中で見回すために循環する必要があるので、後に続くループで毎回ではなく1回だけ呼び出すことが必要です。どのようにしてresponseJSONオブジェクトにアクセスできますか?

+0

はcrimes.responseJSONを試してみてください。また、定義されていないエラーが発生した場合は、実際には文字列でありオブジェクトではないため、オブジェクトにデシリアライズする必要があります。 – nurdyguy

+2

'$ .getJSON'は非同期です。次のドキュメントをお読みください。https://api.jquery.com/jQuery.getJSON/ –

+0

これは、初期の$ .getJSON()呼び出しの外でJSONにアクセスする方法を理解するのに役立ちません。 – user2907249

答えて

1

$.getJSONを返します。responseJSONプロパティを持つ可能性がありますが、この方法(またはその時点で)にアクセスすることはできません。ブラウザがAjaxリクエストを実行するまで、"wait"にする必要があります。 コールバック$.getJSONに渡すことで、応答が利用可能になったときに呼び出されます。 (適応)jQuery documentationから

$.getJSON("ajax/test.json", function(data) { 
    // access data here 
}); 

successコールバックがJSON構造によって定義され、$.parseJSON()方法を使用して解析として、典型的にはJavaScriptのオブジェクトまたは配列で返されたデータを、渡されます。

あなたは間違いなくjQuery tutorial about Ajax.

を読む必要がありますので、あなたがアヤックスに精通していないようでも参照してください:How do I return the response from an asynchronous call?

関連する問題