Sencha Touch 2.2 Store Proxy 异常监控

移动端到服务端通信往往会发生很多莫名的异常情况,如何有效的监控proxy异常,给用户友好的用户体验呢?

Proxy给我提供了异常exception的监听事件,只需要监控该项目即可。

 

Sencha Touch Store的基类如下:

Ext.define('HzyApp.store.Base', {
    extend: 'Ext.data.Store',
    config: {
        proxy: {
            scope: this,
            listeners: {
                exception: function (proxy, response) {
                    var rst = Ext.decode(response.responseText);
                    //如果失效请重新登陆
                    if (rst.msg == "relogin") {
                        Cookies.clear("hzyapp.username");
                        Ext.Msg.alert("异常", "用户登陆状态失效,请重新登陆!");
                        window.location.reload();
                    }
                    else
                        Ext.Msg.alert("异常",rst.msg);
                }
            }
        }
    }
});

服务端有异常监控机制,发生任何异常,会发送相应的异常信息给客户端,例如获取数据的时候,当用户登录超时,会直接提示用户登录状态失效,proxy监控到该异常会发起重新登陆的动作。

后台返回格式:

{result:1,msg:'reload',success:false}
success是必不可少的,msg和result可根据具体情况自定义

 

posted @ 2014-12-24 15:45  lanyan  阅读(176)  评论(0编辑  收藏  举报