0

私はこのコードを持っています:

Ext.define('myApp.view.Twitter',{
  extend: 'Ext.TabPanel',
  xtype: 'twitter',  
  requires: [
      'Ext.dataview.List',
      'Ext.data.reader.Json',
      'Ext.data.Store',
      'Ext.Map'
    ],
  config: {
    title:'Twitter',
    iconCls: 'twitter2',


        items: [        
        {
          xtype: 'list',
          title: 'Tweets',
          itemTpl : [            
            '<div>',
            '<div>',
            '<img class="tweetAvatar" src="{profile_image_url}"/>',
            '</div>',
            '<div>',            
            '{text}<br/>',
            'From:<a class="btnTweet" href="http://twitter.com/{screen_name}">@{screen_name}</a>',
            '</div></div>'
          ],
          disableSelection: true,
          store: {
            autoLoad: true,
            fields: [
                {
                    name:'text'
                },
                {
                    name: 'screen_name',
                    mapping: 'user.screen_name'
                },
                {
                    name: 'profile_image_url',
                    mapping: 'user.profile_image_url'
                }
            ],

            proxy: {
                type: 'ajax',
                url: 'http://api.twitter.com/1/statuses/user_timeline/my_name.json?count=25&include_rts=1&callback=?',
                //url: 'data.json',
                reader: {
                    type: 'json'         
                }
            }
          }
        },
        {
            title: 'Map',
            xtype: 'map',                
            useCurrentLocation: true,
            mapOptions: {
                    zoom: 12
            },
            listeners: {
                maprender: function(extMapComponent, googleMapComp){

                    var marker = new google.maps.Marker({
                         position: position = new google.maps.LatLng (extMapComponent._geo._latitude,extMapComponent._geo._longitude),
                         map: googleMapComp
                    });


                }
            }
        }
      ]
    }    
});

そしてブラウザは以下を返します:

オプション http://api.twitter.com/1/statuses/user_timeline/my_name.json?count=25&include_rts=1&callback=?&_dc=1369506479735&page=1&start=0&limit=25 405 (メソッドは許可されていません) Connection.js:319
XMLHttpRequest は http://api.twitter.com/1/statuses/user_timeline/my_name.json?count=25&include_rts=1&callback=?&_dc=1369506479735&page=1&start=0&limit=25 を読み込めません。オリジン http://m.my_domain.com は Access-Control-Allow-Origin で許可されていません。

いくつかの解決策?

4

1 に答える 1

0

プロキシを jsonp プロキシに置き換えるだけです。また、URL を変更し、コールバック キーを削除しました。jsonp を使用すると、Sencha は自動的にコールバック キーを挿入します。

proxy: {
    type: 'jsonp',
    url : 'http://api.twitter.com/1/statuses/user_timeline/my_name.json?count=25&include_rts=1'
}
于 2013-05-26T01:12:54.137 に答える