2012-04-16 35 views
0

進出口新的煎茶觸摸2,即時通訊使用的存儲和模型通過代理從JSON試圖存儲值,但不沒有在那裏我錯了煎茶觸摸2 - 使用代理從JSON存儲值不是爲我工作

我的模型

Ext.regModel('Product', { 
    fields: [ 
     {name: 'name',  type: 'string'}, 
     {name: 'description', type: 'string'}, 
     {name: 'price',  type: 'float'}, 
     {name: 'image_url', type: 'string'}, 
     {name: 'in_stock', type: 'boolean'} 
    ] 

}); 

我的店

Dzineapp.BlogStore = new Ext.data.Store({ 
model: 'Product', 
autoLoad: false, 
proxy: new Ext.data.AjaxProxy({ 
    type: 'ajax', 
    url: 'http://localhost/products.json', 
    reader: { 
     type: 'json', 
     root: 'products' 
    }, 
    writer: { 
     encode: true, 
     type: 'json' 
    } 
    }) 
}); 

Products.json

{ 
    "products": [ 
     {"name": "Some Product", "price": 9.99, "image_url": "product1.jpg", "in_stock": true}, 
     {"name": "Another Product", "price": 7.50, "image_url": "product2.jpg", "in_stock": true}, 
     {"name": "A third product", "price": 2.35, "image_url": "product3.jpg", "in_stock": false} 

    ] 
} 

我的視圖

Dzineapp.blogPanel = new Ext.List({ 
      id: 'bloglist', 
      store: Dzineapp.BlogStore, 
      itemTpl: '<div class="contact">{name}</div>' 
     }); 

但我的應用程序dosent顯示任何值,任何一個能幫助我在哪裏,即時通訊做的錯誤..即時通訊只是在煎茶

首發

回答

0

你能不能更新你的店鋪如下

Dzineapp.BlogStore = new Ext.data.Store({ 
    model: 'Product', 
    autoLoad: true, 
    proxy: { 
    type: 'ajax', 
    url: 'http://localhost/products.json', 
    reader: { 
     type: 'json', 
     root: 'products' 
    } 
    } 
}); 

我希望如此。我們不得不加載商店來顯示數據。

謝謝, Swathi。

1

1)您應該使用Ext.create(),而不是新的...(但這應該工作anymway)

2)你應該在你的列表配置在店內值加上'

3 )檢查您是否將商店添加到app.js中的商店[]或在您的列表中添加一個要求。

4)使用firebug/chrome開發工具檢查您的請求是否正常工作(HTTP:200)並且您得到了您的json。

希望能幫助

0

在您的存儲配置,而不是使用

root: 'products' 

嘗試使用

rootProperty: 'products'