2017-02-14 10 views
-3

グローバル変数を設定することはできません:私は謝罪 を、これはオランダ語である、それが問題になるはずのそれは場違いにビットを見ません。が、私はこのように見ているオブジェクト配列を受け付けておりますjavascriptの

{ 
    "data": [ 
    { 
     "title": "Dit is een excercise", 
     "application": "afbeeldingVerhalen", 
     "language": "nl_NL", 
     "id": "", 
     "image": "groot.jpg" 
    }, 
    { 
     "objAudio": "groen.mp3", 
     "objImage": "groen.jpg", 
     "objText": "Dit is groen", 
     "objLocation": { 
     "X": "61", 
     "Y": "78" 
     } 
    }, 
    { 
     "objAudio": "pijl.mp3", 
     "objImage": "", 
     "objText": "Dit is een pijl. $%$%%", 
     "objLocation": { 
     "X": "61", 
     "Y": "78" 
     } 
    }, 
    { 
     "objAudio": "groot.mp3", 
     "objImage": "", 
     "objText": "Dit is groot!", 
     "objLocation": { 
     "X": "61", 
     "Y": "78" 
     } 
    }, 
    { 
     "objAudio": "wit.mp3", 
     "objImage": "wit.jpg", 
     "objText": "Dit is wit, wit is een kleur net zoals groen.", 
     "objLocation": { 
     "X": "61", 
     "Y": "78" 
     } 
    }, 
    { 
     "objAudio": "uit.mp3", 
     "objImage": "uit.jpg", 
     "objText": "Dit is buiten het plaatje, we noemen dit ook wel uit. Lorem ipsum dolor sit amet, consectetur adipiscing elit. At enim hic etiam dolore. Quis Aristidem non mortuum diligit? Cur deinde Metrodori liberos commendas? Quod si ita se habeat, non possit beatam praestare vitam sapientia. Primum in nostrane potestate est, quid meminerimus? Verba tu fingas et ea dicas, quae non sentias? Duo Reges: constructio interrete. Tum Quintus: Est plane, Piso, ut dicis, inquit. Summus dolor plures dies manere non potest?", 
     "objLocation": { 
     "X": "61", 
     "Y": "78" 
     } 
    } 
    ] 
} 

私はこの情報を得るために$ .getを使用しています。 $に.get以内に私は(js_data [「データを」] [0] .TITLE)CONSOLE.LOGすることができます私は未定義の取得の$に.getのこの外側をCONSOLE.LOG場合は「DITがEENの運動している」出力します。

$ .getの外にある変数は、関数の外で単純にvar title; と宣言しました。

私は注意してそのも良いコンソールに誤りがないと思います。

ありがとうございます! 編集:

$(document).ready(function(){ 
    var js_data; 
    var title; 
    $.get("exercise.php", function(data){ 
     js_data = $(data).filter('.js_data'); 
     js_data = js_data.text(); 

     js_data = JSON.parse(js_data); 
     console.log(js_data); 
     console.log(js_data['data'][0].title); 
     title = js_data['data'][0].title; 
     }); 
    console.log(title); 
    $("#title").text(title);  
}); 
+2

あなたは$のに.getを使用しているスクリプトを投稿することができますか? [タグ:パトリック]として – patrick

+0

はちょうどあなたがあなたの配列、タイトルプロパティ、残りなしと1のデータを混在しているコード – LS05

+1

を投稿、と述べています。 –

答えて

1

Ajaxリクエストは非同期で動作します。あなたは

console.log(title); 
$("#title").text(title); 

を使用する時点で、要求はまだ終わっていない持っているので、VAR titleはまだAjaxの結果の内容に設定されていません。

+0

お返事ありがとうございます。だから私はこれをどのように修正するのですか? – Soshiro

+1

リンクされた重複した質問を参照してください。しかし、まだ私の質問に別の質問で答えてみましょう: '$("#title ")。text(title);' get要求のコールバックで? – Connum

+0

成功コールバックは、非同期動作の場合に使用できます。 – Niraj