2016-04-18 14 views
-2

そのオブジェクト:私は次のようにJSONファイルresult.jsonが探してい

私のhtmlファイルで
{ 
"employees":[ 
    {"firstName":"John","lastName":"Doe" }, 
    {"firstName":"Anna","lastName":"Smith" }, 
    {"firstName":"Peter","lastName":"Jones" }] 
} 

私はからのオブジェクトのいずれかにアクセスするためのjQueryを使用しようとしていますjsonファイル、すなわち人物の1人であり、いくつかのオブジェクトデータを表示する。

<!DOCTYPE html> 
<html> 
<body> 
<head> 
    <script type = "text/javascript" src = "http://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script> 
</head> 

<p id="demo"></p> 

<script> 
    var obj; 
    $.getJSON("http://insyn.local:666/result.json", function(json){ 
     obj = json; 
    }); 
    document.getElementById("demo").innerHTML = 
    obj.employees[1].firstName + " " + obj.employees[1].lastName; 
</script> 

</body> 
</html> 

しかし、これは私だけのエラーなります「キャッチされない例外TypeErrorは:プロパティ '従業員の未定義のを読み取ることができません」。私はここで何が欠けていますか?

+1

によりJSの非同期性には、 'getJSON'コールのコールバック関数の中で' innerHTML'ステートメントを配置する必要があります。それ以外の場合は、結果が返される前にinnerHTMLが実行されます。 – helllomatt

+1

'$ .getJSON'は非同期呼び出しであり、DOMに挿入しようとするとおそらく完了しません – Craicerjack

答えて

0

は、コールバックの内側にあなたのhtmlの操作をやって試してみてください。

<!DOCTYPE html> 
<html> 
<body> 
<head> 
    <script type = "text/javascript" src = "http://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script> 
</head> 

<p id="demo"></p> 

<script> 
    var obj; 
    $.getJSON("http://insyn.local:666/result.json", function(json){ 
     obj = json; 
     document.getElementById("demo").innerHTML = 
     obj.employees[1].firstName + " " + obj.employees[1].lastName; 
    }); 

</script> 

</body> 
</html> 
関連する問題