0

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 ノード自体が空で、データが data 属性にあるため、データは表示されません。

属性データを取得するにはどうすればよいですか?

4

1 に答える 1

0

コードを実行し、コンソール ログを確認しました。

スローされているエラーは次のとおりです。

XMLHttpRequest はhttp://www.google.com/ig/api?weather=zonhoven&_dc=1336560194441&page=1&start=0&limit=25を読み込めません 。オリジンhttp://localhost.comは Access-Control-Allow-Origin で許可されていません。

エラーは、クロスドメイン クロスオリジン リソース共有ajaxを含むリクエストを作成しているためです。

したがって、プロキシの種類を次のように変更します。'jsonp'

proxy : {
      type : 'jsonp',
      url : 'http://www.google.com/ig/api?weather=zonhoven',
      ....
      ....
于 2012-05-09T10:47:44.930 に答える