2

私の 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();
   });
4

2 に答える 2

7

負荷マスクを表示するには、次を使用できます。

Ext.Viewport.mask({ xtype: 'loadmask' });

そして、Ajax リクエストの success 関数内にロード マスクを非表示にします。

Ext.Viewport.unmask();
于 2013-03-28T09:23:30.587 に答える
3

とても簡単です これらを試してみてください

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

成功関数の後に、ロード マスクを追加します。

于 2013-04-03T11:27:11.177 に答える