2016-04-17 6 views
0

単純なJSONファイルをXMLHttpRequestを使用して取得しようとしています。JSONファイルでデータを取得するときの構文エラー

私が観察し、すべてをデバッグしてきましたが、それはまだここでの問題何、実行することはできません。..

var getData = function() { 

    var xmlhttp = new XMLHttpRequest(); 
    var url = "battletheme.json"; 

    xmlhttp.onreadystatechange = function() { 
     if(xmlhttp.readyState == 4 && xmlhttp.status == 200) { 
      var themeinfo = JSON.parse(xmlhttp.responseText); 
      showField(themeinfo); 
     } 
    }; 

    xmlhttp.open("GET", url, true); 
    xmlhttp.send(); 
} 

var showField = function(inputcat) { 
    var txt = ""; 

    for(i=0; i<inputcat.length; i++) { 
     txt += "Place: " + inputcat.field[i].fieldname + " , Boundary: " + inpucat.field[i].rightboundary + " <br>"; 
    } 

    document.getElementById("msg_box").innerHTML = txt; 

} 

getData(); 

とJSONファイルはここにある:(それはすべて私のコンピュータに同じでありますルート)の代わりにinputcat.lengthの

{"field": [ 
     {"fieldname" : "forest","leftboundary" : 1, "rightboundary" : 500}, 
     {"fieldname" : "jungle","leftboundary" : 1, "rightboundary" : 600}, 
     {"fieldname" : "island","leftboundary" : 1, "rightboundary" : 200} 
]} 
+0

あなたはどのようなエラーが出るのですか? [ネットワーク]タブには何が表示されますか? – SLaks

+0

ここで、 'inputcat'のスペルが間違っています:inpucat.field [i] .rightboundary – trevor

+0

@SLaks:はい、それだけです:line1、column1の "syntax incompatible"はjsonファイルを参照しています。私はMozillaデバッグコンソールを使用します。 –

答えて

0

トライinputcat.field.length(私はそう私はちょうどコメントをしただろう、50担当者を持っていない)

+0

ありがとう!今は表示されますが、デバッグコンソールでは、line1、column1には常に「syntax incompatible」と表示されますが、それでも正常に動作します。どうしてですか? –

+0

jsonをhttp://jsonlint.com/にコピー/ペーストすると、「有効なjson」が得られません。 jshint、jslintのような構文検証が追加される可能性があります。 – user1235831

+0

私も..ありがとう –

関連する問題