-1

コントローラーを書きました。ビューからボタンをクリックすると、このコントローラーの汎用「ボタン」が次のように呼び出されます。

        'button': {
            tap: function() {



           Ext.data.JsonP.request({
                    url: 'http://download.finance.yahoo.com/d/quotes.csv',
                    params: {
                        s: '^BSESN',
                        f: 'nsl1op'   
                    },
                    callbackKey: 'callback',
                    scope: this,
                    success: function( res, req ) {
                        Ext.example.msg('Sucess!', 'CSV file successfully generated.');
                        Ext.data.StoreManager.get('Files').load();
                    },
                    failure: function( res, req ) {
                        console.log('Failed to load csv file.');
                    }
                });

....
....
....

タイムアウトとなり、失敗したことを「csvファイルの読み込みに失敗しました」と呼びます。

私が使用している元の URL は「http://download.finance.yahoo.com/d/quotes.csv?s=^BSESN&f=nsl1op」です。

どこが間違っているのか知りたいです。

4

1 に答える 1

0

JSONP 経由で CSV ファイルをリクエストしています。

ファイルは '' タグを介して DOM に挿入されます (これが JSONP の仕組みです) が、これは有効な JavaScript ファイルでcallbackKey: 'callback'はないため、コールバック ( ) は実行されず、Sencha Touch はタイムアウト ハンドラを起動し、コールバックを確認します。挿入された<script>タグによって呼び出されていません。

おそらく、URL を、CSV ファイルではなく、実際に JSONP (コールバックにラップされた有効な JavaScript) に変更する必要があります。

于 2013-01-11T10:56:15.600 に答える