2016-08-16 9 views
0

jQueryの$.each()を使いたかったのですが、IE6では動作しませんでした。したがって、json2と入力してください。だから私は、データを取得していますし、それだけで「プロパティを読み取ることができません未定義の 『フットボール』を」JSONは、ajaxでstringifyを呼び出します。つまり、6と互換性があります。

を言っているが、配列

var i; 
    for(i=0; i<theData.Event.Football.length; i++) 
    { 
     alert(theData.Event.Football[i].time); 
    } 

を通じて呼び出すその後

var theData = JSON.stringify(data); 

を使用してVARにそれを結合しますJSONは、バリエーションを試して6時間後に、私は単純なことを誤解しています。

var theData = JSON.stringify(data); 

がかかる:

{ 
"Event":{ 
    "Football":[ 
     { 
      "title": "Some Event", 
      "time": "6:00" , 
      "competitors": { 
      "competitors1": "Boaty Mc Boat", 
      "competitors2": "Disco Dave" 
      }, 
      "win": { 
      "win1": 1.3, 
      "win2": 1.89, 
      "win3": 1.79 
      } 
     }, { 
      "title": "Some Event", 
      "time": "7:00" , 
      "competitors": { 
      "competitors1": "Flesh Wound", 
      "competitors2": "None Shall Pass" 
      }, 
      "win": { 
      "win1": 2.03, 
      "win2": 1.79, 
      "win3": 1.79 
     } 
    ] 
    } 
} 

最終修正は、AJAXの構文に問題があった、ここでは上記のコードは、この行は

$.ajax({ 
    type: 'GET', 
    url: "football1.json", 
    dataType: "json", 
    processData: true, 
    contentType: "text/json; charset=utf-8", 
    data: {}, 
    success: function(data){ 
     alert('working'); 
     // do stuff 
    }, 
    error: function(jqXHR, textStatus, errorThrown) { 
     console.debug(textStatus, errorThrown); 
    } 
}); 
+3

* "私はJqueryの$ .each()を使いたいと思っていましたが、動作しますが、6ではできません。そこでjson2と入力してください。" * Um ...彼らはお互いに関係ありません。 –

答えて

4

を動作することができます作業バージョンですそれを文字列(JSON)に変換します。

dataの場合は、すでにの文字列ではなく、そのまま使用してください。

data文字列であり、あなたが他の道を行くしたい場合は、

var theData = JSON.parse(data); 

をしたい...どこ、再び、dataは、JSONを含む文字列です。 $.eachたりforループのいずれか、ポイントで

(またはあなたのvarious other options、剰余IE6(!)のサポート)しますtheData.Event.Footballをループで。

+0

こんにちはT.Jありがとうございました。それを直接呼び出す、JSONデータがAJAXリクエストによって呼び出され、ループが.success()で呼び出されたが、これはIE 6,7では動作しませんが、テストする別のVMをスピンアップする必要がある8、しかし、私は同じ話を推測しています。 – Paddy

+0

長い話が短いので、古いバージョンのAJAXリクエストを見て、構文がうまくいかないことが判明しました。正しい方向に私を指摘してくれてありがとう:D – Paddy

1

データを文字列化すると、文字列になります。オブジェクトのJSON文字列表現でオブジェクトのプロパティにアクセスすることはできません。

forループはうまく見えますが、IE6ではうまくいくはずですが、dataではなくtheDataで実行する必要があります。

dataも文字列ですか? theData = JSON.parse(data)を使用しましたか?

関連する問題