使用sencha touch 2从xml获取属性数据

时间:2012-05-09 10:09:47

标签: xml cordova sencha-touch-2

我正在尝试使用Phonegap和Sencha touch2进行编程时如何从服务器获取数据。

我正在尝试从Google Weather API获取一些天气数据。

我有一个列表,其中列表应该显示day_of_week数据。但是我找不到如何从属性中获取数据。如果您查看http://www.google.com/ig/api?weather=zonhoven处的xml,您会看到星期几表示为:

所以我得到了以下代码:

Ext.define('WeerBe.view.mainTabs.TestPage', {
extend : 'Ext.navigation.View',
xtype : 'testPage2',

config : {
    title : 'Test Page2',
    iconCls : 'info',

    scrollable : true,

    items : [{
        xtype : 'list',
        itemTpl: '{day_of_week}',

        store : {
            autoLoad: true,

            fields : ['day_of_week'],


            proxy : {
                type : 'ajax',
                url : 'http://www.google.com/ig/api?weather=zonhoven',
                reader : {
                    type : 'xml',
                    root : 'weather',
                    record: 'forecast_conditions'
                }
            }
        }
    }]
}
})

列表包含4条记录,但它不显示数据,因为day_of_week节点本身为空且数据属于数据属性。

如何获取属性数据?

1 个答案:

答案 0 :(得分:0)

我运行了你的代码并检查了控制台日志。

这是抛出的错误:

  

XMLHttpRequest无法加载   http://www.google.com/ig/api?weather=zonhoven&_dc=1336560194441&page=1&start=0&limit=25。   来源http://localhost.com不被允许   访问控制允许来源。

错误是因为您发出了ajax请求Cross-domain cross-origin resource sharing.

因此,请将代理类型更改为'jsonp'

proxy : {
      type : 'jsonp',
      url : 'http://www.google.com/ig/api?weather=zonhoven',
      ....
      ....