如何在Sencha Touch中发送ajax请求时显示进度条?

时间:2014-03-27 13:17:35

标签: ajax extjs sencha-touch-2.1

在我的Sencha Touch应用程序中,我发出了一个Ajax请求。我想在处理请求时显示进度条,并将超时设置为60秒。如果连接是timeOut,那么我想显示一个msg"连接速度很慢"。怎么做?以下是Ajax Request的代码。

  $.ajax(
               {
                     type : "GET",
                     async : false,
                     dataType : "text",
                     url : 'someurl',
                     success : function(data1)
                     {


                     }
          });

如何修改代码以添加上述功能?

1 个答案:

答案 0 :(得分:0)

怎么样?

var basePanel = 
Ext.ComponentQuery.query("toppanel")[0];
var loginFormPanel = 
Ext.ComponentQuery.query("loginformpanel")[0];

var task = Ext.create('Ext.util.DelayedTask', function() {
Ext.Viewport.mask({ xtype: 'loadmask',
                   message: "Checking Credentials.." });
}, this);

task.delay(500);

// do login and if success, 
//   flip, otherwise show error
Ext.Ajax.request({
url:'/rpc/Account/Login', 
params: {
    Username: loginFormPanel.getValues().username,
    Password: loginFormPanel.getValues().password,
    RememberMe: loginFormPanel.getValues().rememberMe != null
},
success: function(response){
    task.cancel(); 
    Ext.Viewport.unmask(); 
    basePanel.animateActiveItem(1,{type: 'flip' });
},
failure: function() {
    task.cancel(); 
    Ext.Viewport.unmask(); 
    Ext.Msg.alert("Login Failed");
}
});