1

このようなJSON結果からjQueryテンプレート項目にアクセスする方法を見つけようとしています。

[
 {"appLayerId":"6002",
  "name":"US",
  "description":"test",
  "dataSource":"POINT",
  "status":{
      "status":"Success",
      "reason":"None",
      "otherInfo":null
      }
  }
 ]

テンプレート内ではそのままだと思っていまし${appLayerId}たが、うまくいかないようです。

- アップデート

誰かが私を助けるのに役立つ場合に備えて、私はjsFiddleでこのコードをたどろうとしています。http://jsfiddle.net/iainjmitchell/kRRXC/ その例との違いは、JSON を取得するための URL と、jquery テンプレート部分の私の名前です。元の投稿で述べたように、私のjsonは上にあります。先ほど言ったように、firebug で json の応答を確認できます。ページ エラーはありませんが、テンプレートからページにテキストが表示されません。うまくいけば、これは誰かが私を助けるのに役立ちます。ありがとうございました。

-- 更新 2

ここでは明らかに単純なものが欠けています。あなたはコードを見るように頼みました。私が言ったように、それはその例とまったく同じです。ここが違います。

twitterUrl: "http://localhost/Services.Administration/Maintenance.svc/layers?Fmt=application/json",

次に、テンプレート部分にこの div があります。

 <div class="source">
    <label>${name}, ${appLayerId}</label>
 </div>

あなたが言うとき、オブジェクトのようなプロパティにアクセスするだけです。テンプレート内で objectName.appLayerId を実行できるオブジェクトは何ですか。何を言っているのかよくわかりません、すみません。

これが、これを整理するのに役立つことを願っています。ご協力いただきありがとうございます。

-- アップデート 3

これをさらに調べて... aa console.dir(this.model); を実行しました。addAll 関数で。firebug では、コンソールに「モデル」が空として表示されます。なぜでしょうか?繰り返しますが、変更したのはその例の URL だけです。

           addAll: function(){
                var el = this.el;
                el.hide().empty();
                console.dir(this.model);
                this.model.each(function(tweet){
                    var view = new TweetView({model: tweet});
                    el.append(view.render().el);
                });
                el.slideDown(500);
            }  
4

1 に答える 1

0

オブジェクトの文字列表現を変数$.parseJSON()に含めると、それをjsオブジェクトに変換して、いつものように使用できます。

  var result = "[
 {'appLayerId':'6002',
  'name':'US',
  'description':'test',
  'dataSource':'POINT',
  'status':{
      'status':'Success',
      'reason':'None',
      'otherInfo':null
      }
  }
 ]";

 var resultObject = $.parseJSON(result);
 var subObject1 = resultObject[0];
 var appLayerId1 = subObject1.appLayerId;

この助けを願っています。

于 2012-10-27T20:01:41.723 に答える