1

sencha touch2初心者です。ブログビューを含むアプリを作成しようとしています。ブログのコードを以下に示します。アプリを起動すると、コンテンツの読み込みに失敗し、これらのエラーが発生します。私はローカルホストにワンプを使用しています。

XMLHttpRequest cannot load "  http://secureclick-media-maynemyltf.netdna-ssl.com/Extensions/rjs/c2.js".  Origin< http://localhost> is not allowed by Access-Control-Allow-Origin.

XMLHttpRequest cannot load  " http://api.yontoo.com/GetClientData.ashx?key=null&id=47a8564d-d089-4195-9564-72f107ea1c56&loc=http%3A//localhost/GS/&apps=bestvideodownloader,ezLooker,pagerage,buzzdock,toprelatedtopics,twittube".  Origin <http://localhost> is not allowed by Access-Control-Allow-Origin.

Ext.define('GS.view.blog',
{
        extend:'Ext.navigation.View',
    xtype: 'blogpanel',

    config:{
        title: 'Blog',
        iconCls: 'star',

        items:
        {
            xtype:'list',
            itemTpl:'{title}',
            store:
            {   
                autoLoad: true,
                fields:['title','author','content'],

                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',
                }
                }
            }
        }
    }
});
4

1 に答える 1

1

JSONPサービスではなく、JSON サービスを呼び出しています。ブラウザからURLを呼び出すことで検出でき、コンテンツがメソッド呼び出しによって開始されていないことがわかります。

したがって、クロスドメイン保護をバイパスしていません。

JSONP で応答するようにサーバーに伝えることはできません。そのような応答を行う準備ができている必要があります。

また、ブラウザでは、json で応答し、このクロスドメイン リクエストを受け入れることを指定するヘッダーを設定していないサーバーに別のドメインからアクセスすることはできません。これを読んでください。

編集 :

JSONP を使用してこのサービスを呼び出すことができます: URL の最後にコールバックを指定するだけです。

この応答形式に加えて、プロトコルは、指定されたコールバックへの引数として JSON オブジェクトを配信するように API に指示する、コールバック引数を指定することによってトリガーされる従来の JSON-P スタイルのコールバックもサポートします。

ドキュメントの例:

'https://ajax.googleapis.com/ajax/services/feed/find?v=1.0&q=Official%20Google%20Blogs&callback=processResults'
于 2012-08-23T16:59:31.010 に答える