0

私は sencha touch2 を初めて使用します。Ajax Post Request を使用したプロキシがあり、Json データを取得できます。しかし、成功関数と失敗関数が呼び出されませんか? どうすればそれを行うことができますか?参照用の私のモデルは次のとおりです。

Ext.define('TestApp.model.ModelList', {
    extend: 'Ext.data.Model',
    xtype:'modelList',
    config: {
        fields:['work'],

        proxy:{
            type:'ajax',
            method: 'POST',

            url:'http://localhost:9090/apps/works',
            callbackKey: 'callback',
            actionMethods: {
                create : 'POST',
                read   : 'POST', // by default GET
                update : 'POST',
                destroy: 'POST'
            },
            headers: {
                'Content-Type': 'application/xml',
                'Accept':'application/json'

            },
            callback: function(options, success, response) {
                console.log('999999999'+response.responseText);// not getting called
            },
            success: function(response) {
              console.log('success++++');// not getting called
            },
            failure: function(response) {
                console.log('failure++++');// not getting called
            },

            reader:
            {
                type:'json'
            }
        }
    }
});
4

1 に答える 1

0

プロキシ自体はコールバックを定義しません。実行される操作は行います。たとえば、Model.load(1,{...})次のように構成パラメーターでコールバック関数を指定できます。

MyApp.User.load(10, {
    scope: this,
    failure: function(record, operation) {
        //do something if the load failed
    },
    success: function(record, operation) {
        //do something if the load succeeded
    },
    callback: function(record, operation) {
        //do something whether the load succeeded or failed
    }
});

詳細はこちら: http://docs.sencha.com/touch/2-1/#!/api/Ext.data.Model またはこちら: http://docs.sencha.com/ext-js/4-1 /#!/api/Ext.data.Model-static-method-load

また、JSONP プロキシではなく、Ajax プロキシが必要であることを確認してください。Ajax プロキシでは、通常、ホストとポートを指定する必要はありません。これは、アプリ ホストと同じにする必要があるためです。そうでない場合は、JSONP プロキシが必要です。

于 2013-04-11T04:38:05.393 に答える