2014-10-20 103 views
0

我試圖在JSON存儲加載時向url添加參數,但是我出現了「無法加載數據」的錯誤。這是我的商店的代碼。Sencha Touch 2.3(無法從sencha touch 2中的json文件加載數據)

Ext.define('RssFeed.store.RssFeeds', { 
    extend: 'Ext.data.Store', 

    requires: [ 
     'RssFeed.model.RssFeed', 
     'Ext.data.proxy.JsonP', 
     'Ext.data.reader.Json' 
    ], 

    config: { 
     model: 'RssFeed.model.RssFeed', 
     storeId: 'RssFeeds', 
     proxy: { 
      type: 'jsonp', 
      url: 'https://ajax.googleapis.com/ajax/services/search/news?v=1.0', 
      reader: { 
       type: 'json', 
       rootProperty: 'responseData.results' 
      } 
     } 
    }, 

    searchFeed: function(request) { 
     var request="turkey"; 
     Ext.getStore('RssFeeds').load({ 
      params: { 
       q:request 
      } 
     }); 
    } 

}); 

回答

1

嗨你的商店似乎是正確的,我測試了它在我的本地機器。

Ext.define('MyApp.store.RssFeeds', { 
    extend: 'Ext.data.Store', 

    requires: [ 
     'Ext.data.proxy.JsonP', 
     'Ext.data.reader.Json' 
    ], 

    config: { 
     //model: 'RssFeed.model.RssFeed', 
     fields:['title'], 
     storeId: 'RssFeeds', 
     proxy: { 
      type: 'jsonp', 
      url: 'https://ajax.googleapis.com/ajax/services/search/news?v=1.0', 
      reader: { 
       type: 'json', 
       rootProperty: 'responseData.results' 
      } 
     } 
    }, 

    searchFeed: function(request) { 
     request = request || ''; 
     Ext.getStore('RssFeeds').load({ 
      params: { 
       q:request 
      } 
     }); 
    } 
}); 

以下是我使用它..

VAR店= Ext.create( 'MyApp.store.RssFeeds'); store.searchFeed('菲律賓');