我正在尝试使用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节点本身为空且数据属于数据属性。
如何获取属性数据?
答案 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',
....
....