2012-01-23 5 views
1

ウェブページの3つのセクションにjsonコンテンツを読み込むことができますが、関数の変数でコンテンツを渡す際にいくつかのエラーが表示されます。私が説明します。jquery + jsonコンテンツを読み込んでFirebugコンソールにエラーを表示する

最初のセクションでは、file1.jsonからコンテンツを読み込むためにjquery関数を使用します。第一セクションの

スクリプト

var f = $(this).data('residentidx'); 
$.getJSON("file1.json", function(data) { 
    $("#tt_mn").html($("<p class='prod_c'>" + data.articles[f].title + "</p>")); 
    $("#content_mn").html($("<p class='prod_d'>" + data.articles[f].esquema + "</p>")); 
}); 

file1.json

{"articles": 
[{"title":"......", "esquema":"............"}, ...,{"title":".....","esquema":"......"}]} 

スクリプトポル第二項

var i = $(this).data('renovidx'); 
$.getJSON("file2.json", function(data) { 
    $("#tt_mn").html($("<p class='prod_c'>" + data.articles[i].title + "</p>")); 
    $("#content_mn").html($("<p class='prod_d'>" + data.articles[i].esquema + "</p>")); 
}); 

file2.json

{"articles": 
[{"title":"......", "esquema":"............"}, ...,{"title":".....","esquema":"......"}]} 

すべてのデータが正しく表示されているようですが、Firebugコンソールにエラーが表示されます。

data.articles[i] is undefined @ http://www.xxxxx.com/js/jquery-1.7.1.min.js:14 

私はjqueryの機能を使用した第二セクションにいるときには、[F] JSON配列内の要素を見つけるための値[i]の値のため放火犯コンソールショーのエラー奇妙です。

ありがとう

答えて

0

JSONを検証しましたか?あなたが表示され第二の機能は、それがその時点でエラーを投げている理由を説明しますi変数を、使用しているhttp://jsonlint.com/またはHTML用http://json.bloople.net/

+0

はい私はそれをしました。 ok –

0

を使用して...

あなたは$(this).data('renovidx')を返しているかを確認するためにチェックしましたか? $(this).data('renovidx')に等しいキーを持つJSONキー値のペアがありますか?

+0

第1セクションには8タイトルのサブメニューがあり、各タイトルをクリックするとスクリプトが読み込まれます。私が各セクションに1つの関数を書くのが最も良いかもしれません。今度は、8つのオプションごとに同じコードをhtmlで繰り返します。しかし、$(これ)の.data( 'renovidx')が戻ってくるのを確認するためにチェックしたら、あなたが言うときに私はあなたを理解できません。 ¿? –

+0

JSONの値を取得するために、 'var i = $(this).data( 'renovidx');'(おそらく各サブメニュー項目に "data-revovidx"パラメータがあります) response: 'data.articles [i] .title'ですが、JSONに' var i'の値が何であれ一致するキーが含まれていないと 'undefined'エラーが発生します。 –

+0

サブメニューの8つの項目(キー0,1,2,3,4,5,6,7)。アイテムイベントで呼び出すときにロードできるドキュメントの先頭に1つの関数を読み込まないようにするのは問題になりますか?奇妙なことに、[i]キーを使用するセクションにいるとき、[f]キーのエラーが表示され、まだ読み込まれていませんでした..... –

関連する問題