2014-03-27 38 views
0

在我的Sencha Touch应用程序中,我制作了一个Ajax请求。我想在处理请求时显示一个进度条,并设置60秒的超时时间。如果连接是超时,那么我想显示一条消息“连接速度慢”。怎么做?以下是Ajax请求的代码。如何在Sencha Touch中发送ajax请求时显示进度条?

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


        } 
      }); 

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

回答

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"); 
} 
});