0

ナビゲーション ビューが必要です。JsonP プロキシを使用して、Sencha Touch にリストを入力しようとしています。

これまでに試したことのサンプルコードスニペットは次のとおりです。

var view = Ext.define('MyApp.view.NavigateView', {
    extend: 'Ext.navigation.View',
    xtype:'navigateview',

    config : {
        fullscreen:true,
        styleHtmlContent:true,
        scrollable:true,

        items : [
            {
                title:'Navigation',
                items : [
                    {
                        xtype:'list',
                        store: {
                            fields : ['title','author'],
                            proxy : {
                                type:'jsonp',
                                url:'https://ajax.googleapis.com/ajax/services/feed/load?v=1.0&q=http://feeds.feedburner.com/SenchaBlog',
                                    reader: {
                                         type: 'json',
                                         rootProperty: 'responseData.feed.entries'
                                    }
                            },
                            autoLoad:true,
                        },
                        itemTpl:'<div class="contact">{title} <strong>{author}</strong></div>',
                        listeners : {
                            itemtap : function(){
                                Ext.Msg.alert('Called');
                                }
                            }
                        }
                ],

            }
        ]   
   }
});

しかし、問題は、私のリストにデータが入力されていないことです。リストにアイテムが表示されていません。

また、コンソールでこのエラーが常に発生しています。

XMLHttpRequest はhttp://api.tinyhippos.com/xhr_proxy?tinyhippos_apikey=ABC&tinyhippos_rurl=list.php%3F_dc%3D1334462633038%26page%3D1%26start%3D0%26limit%3D25を読み込めません 。オリジンhttp://localhostは Access-Control-Allow-Origin で許可されていません。

誰でもガイドしてください?ここで欠けているものはありますか?

4

2 に答える 2

2

クロスドメインで AJAX リクエストを使用すると、同じエラーに直面していました。ここを見てください

jsonpを使用してサーバー部分が適切に構成されていることを確認する必要があります

最初のステップとして、ブラウザで Web セキュリティを無効にしたときにアプリケーションが正しく動作するかどうかを確認します

Chrome のインストール ディレクトリを見つけて、cmd に次のように入力します。 chrome --disable-web-security

于 2012-04-15T12:50:52.947 に答える
0

Ext.navigation.Viewオブジェクトには、リストを含む1つのExt.Componentオブジェクト(xtypeが定義されていないため、デフォルトで「component」に設定されています)が含まれています。リストをビューのアイテムとして直接配置すると、次のようにレンダリングされます。

var view = Ext.define('MyApp.view.NavigateView', {
  extend: 'Ext.navigation.View',
  xtype: 'navigateview',

  config : {
    fullscreen: true,
    styleHtmlContent: true,
    scrollable: true,

    items : [{
      title: 'Navigation',
      xtype: 'list',
      store: {
        fields: ['title','author'],
        proxy: {
          type: 'jsonp',
          url: 'https://ajax.googleapis.com/ajax/services/feed/load?v=1.0&q=http://feeds.feedburner.com/SenchaBlog',
          reader: {
            type: 'json',
            rootProperty: 'responseData.feed.entries'
          }
        },
        autoLoad:true
      },
      itemTpl: '<div class="contact">{title} <strong>{author}</strong></div>'
    }]
  }
});

注1:コードが機能しない理由がわかりません。

注2:あなたが言及したエラーはあなたのコードスニペットとは関係ありません

于 2012-04-15T11:11:07.347 に答える