当应用程序发出ajax请求时,我想添加加载掩码

当应用程序发出ajax请求时,我想添加加载掩码,ajax,extjs,sencha-touch,sencha-touch-2,Ajax,Extjs,Sencha Touch,Sencha Touch 2,在我的sencha应用程序中,每当应用程序发出ajax请求时,我都要添加加载掩码,请求完成后,我需要删除加载掩码 我尝试了下面的代码,但它对我不起作用 var mask = new Ext.LoadMask(Ext.getBody(), {msg:"Loading..."}); Ext.Ajax.on('beforerequest', function(){ mask.show(); }); Ext.Ajax.on('requestcomplete', fu

在我的sencha应用程序中,每当应用程序发出ajax请求时,我都要添加加载掩码,请求完成后,我需要删除加载掩码

我尝试了下面的代码,但它对我不起作用

var mask = new Ext.LoadMask(Ext.getBody(), {msg:"Loading..."});

   Ext.Ajax.on('beforerequest', function(){
        mask.show();
   });

   Ext.Ajax.on('requestcomplete', function(){
        mask.hide();
   });

要显示加载掩码,可以使用:

Ext.Viewport.mask({ xtype: 'loadmask' });
并将加载掩码隐藏在Ajax请求的成功函数中:

Ext.Viewport.unmask();

试试这些很容易

Ext.Ajax.request({
    method:'GET',
    contentType:'application/json; charset=utf-8',
    dataType:'json',
    url:'http://..................Login',
    disableCaching: false,
    withCredentials: true,
    useDefaultXhrHeader: false,
    callbackKey: 'callback',

    params: {
        xyz:.......                                              
      },
    success:function(response){
        console.log(response);
        var res = response.responseText;    
        var jsonarr = Ext.decode(response.responseText);
        console.log(jsonarr);
        var myres = jsonarr[0].Result;
        console.log(myres);
        Ext.Viewport.setMasked(false);  //hide the mask  loaded ...
       Ext.Viewport.setActiveItem({xtype:'dom_flightlist'}); 
   }//end of success fn

}); //end of AJAX Request

成功功能完成后,添加加载掩码。

Ok。。在success中,您将mask设置为false,那么何时何地设置mask..在ajax请求之前,您必须添加以下行Ext.Viewport.setMasked({xtype:'loadmask',消息:'Checking Availability for this flight Please Wait…',html:'});