0

在我的 Sencha Touch 应用程序中,如果设备连接到 wifi 但没有互联网连接,Ext.device.Connection.isOnline() 将返回 true - 所以我的 Ajax 调用挂起。我正在尝试捕获 requestexception 事件,以便可以优雅地处理错误,但无法使其正常工作。这是代码:

Ext.Ajax.request({
                url:    [my url],
                jsonData:{ },
                params:{
                    op:     'myop'

                },

                method:"POST",
                success:function(response, opts){
                    // all good

                },
                failure:function(response, opts){
                    // failed
                },

                listeners: {
                    requestexception: function(connection, response, options,  eOpts) {


                        switch(response.status) {
                            case 0 :
                              Ext.Msg.alert('Error Loading', 'No Internet connection.');
                              break;

                            default :
                              Ext.Msg.alert('Whoops!', 'An unexpected error has occurred.');
                          }

                    }
                }


            });

不知道我做错了什么!

谢谢马特

4

1 回答 1

0

Ext.define('MyApp.store.MyJsonStore',

extend: 'Ext.data.Store',

config: {
    storeId: 'MyJsonStore',
    proxy: {
        type: 'ajax',
        reader: {
            type: 'json'
        }
    }
},

constructor: function() {
    var me = this;
    me.callParent(arguments);
    me.getProxy().on([{
        fn: 'onAjaxproxyException',
        event: 'exception',
        scope: me
    }]);
},

onAjaxproxyException: function(server, response, operation, options) {
             //Your code here
}

});

于 2012-09-09T09:58:14.843 回答