2012-04-22 12 views
0

うまくいけば、誰か私はこれに対する解決策を見つけようと時間を探してきました..助けることができます..私はAJAXプロキシを使用してリストを移入しようとしている煎茶タッチ2のAjaxプロキシは、リスト内のデータが表示されない

を店でjsonデータをインラインにすると、完全に動作しますが、URLがブラウザで全く同じjsonデータを返しているにもかかわらず、プロキシから返されたデータを取得できないようです。私は間違って何をしていますか?

ストア:

Ext.define('m3.store.News', { 
extend: 'Ext.data.Store', 

requires: ['m3.model.News'], 

config: { 
    model: 'm3.model.News', 
    autoload: true, 
    proxy: { 
     type: 'ajax', 
     url: 'http://localhost/lib', 
     reader: { 
      type: 'json' 
     } 
    } 
}); 

私はデータをインラインで追加した場合、それは完璧に動作します:

Ext.define('m3.store.News', { 
extend: 'Ext.data.Store', 

requires: ['m3.model.News'], 

config: { 
    model: 'm3.model.News', 
    autoload: true, 
    proxy: { 
     type: 'ajax', 
     url: 'http://localhost/lib', 
     reader: { 
      type: 'json' 
     } 
    }, 
data: [{"title":"Test Title 1","id":"1","text":"<div>Test Text 1<\/div>"},{"title":"Test Title 2","id":"2","text":"<div>Test Text 2<\/div>"}] 
}); 

他のすべては、私は他のファイルを投稿していないよ正常に動作している、なら、私に知らせてあなたはそれらを必要とするかもしれません。

私は静的なjsonファイルを試したこともありますが、何もプロキシから返されないようです。

コンソールのプロキシからの応答をテストする方法はありますか?私は "Ext.getStore( 'News');"空の配列を返します。

Sencha Touch 2 MVCの使用。

これはとてもシンプルなようですが、私はそれを働かせることはできません。あらかじめ多くの感謝です!

+0

いいえ、試してみました。Ext.getStore( 'News')。load();コンソールでは、それはデータをプル..今、私はアプリでその呼び出しを置く場所を把握することはできません..新生児の領土私は恐れて..ありがとう.. –

+0

ちょうど起動機能に追加されたメインのapp.jsとすべてが正常に動作しているようだ..だから "オートロード"との取引ですか?その設定はそうしていないのですか? –

+1

Aaaaagggghhhhh! autoLoadは自動ロードしません!!!!!!!!!!!! Noob central .. –

答えて

0

dataからAjaxまでのプロキシをロードしているうちに、あなたの欠けているものはrootPropertyです。

jsonのルートを特定するには、このプロパティを指定する必要があります。

reader : { 
    type:'json', 
    rootProperty:'data' 
} 

とあなたのJSONデータは、以下のような形式である必要があります

{ 
    "data": [ 
     { 
      "title": "Test Title 1", 
      "id": "1", 
      "text": "<div>Test Text 1</div>" 
     }, 
     { 
      "title": "Test Title 2", 
      "id": "2", 
      "text": "<div>Test Text 2</div>" 
     } 
    ] 
} 

私は思うが、それはこれらの変化で動作するようになりました(ルートは、「データ」でなければなりません)。

関連する問題