在使用AJAX请求从服务器获取数据时,我想取消一个简单的等待动画。这是请求的代码:
new Ajax.Request(prefix + 'modelling/', {
                method: 'get',
                asynchronous: false,
                requestHeaders: {
                    "Accept":"application/json"
                },
                parameters: {
                    id: 'getcaplist',
                },
                encoding: 'UTF-8',
                onSuccess: function(response){
                    console.log('response : ', response);
                    var resJSON = response.responseText.evalJSON();
                    console.log('resJSON: ', resJSON);
                    for(var I = 0; I < resJSON.length; ++i){
                      //do something with obj[i]
                        for(var ind in resJSON[i]) {
                        console.log(ind);
                            for(var vals in resJSON[i][ind]){
                            console.log(vals, resJSON[i][ind][vals]);
                            capabilities.push(resJSON[i][ind][vals]);
                            }
                        }
                    }
                    console.log('capabilities', capabilities);
                }.bind(this),
                onException: function(){
                    Ext.Msg.alert(ORYX.I18N.Oryx.title, 'Exception while getting capabilities list').setIcon(Ext.Msg.WARNING).getDialog().setWidth(260).center().syncSize();
                }.bind(this),
                onFailure: (function(transport) {
                    Ext.Msg.alert(ORYX.I18N.Oryx.title, ORYX.I18N.Hbpmn.getFailure).setIcon(Ext.Msg.WARNING).getDialog().setWidth(260).center().syncSize();
                }).bind(this),
                on401: (function(transport) {
                    Ext.Msg.alert(ORYX.I18N.Oryx.title, ORYX.I18N.Hbpmn.getFailure).setIcon(Ext.Msg.WARNING).getDialog().setWidth(260).center().syncSize();
                                        }).bind(this),
                on403: (function(transport) {
                    Ext.Msg.alert(ORYX.I18N.Oryx.title, ORYX.I18N.Hbpmn.getFailure).setIcon(Ext.Msg.WARNING).getDialog().setWidth(260).center().syncSize();
                }).bind(this)
            });当传递到onSucess函数时,等待动画应该隐藏。
发布于 2015-08-27 01:18:52
只要改变asynchronous: false
发布于 2015-08-20 20:52:14
您必须像这样使用onLoading方法:
new Ajax.Request(prefix + 'modelling/', {
                method: 'get',
                asynchronous: false,
                requestHeaders: {
                    "Accept":"application/json"
                },
                parameters: {
                    id: 'getcaplist',
                },
                encoding: 'UTF-8',
                onLoading: function(){
                    // DO SOMETHING HERE
                },
                onSuccess: function(response){
                    console.log('response : ', response);
                    var resJSON = response.responseText.evalJSON();
                    console.log('resJSON: ',resJSON);
                    for(var i = 0; i < resJSON.length; ++i){
                      //do something with obj[i]
                        for(var ind in resJSON[i]) {
                        console.log(ind);
                            for(var vals in resJSON[i][ind]){
                            console.log(vals, resJSON[i][ind][vals]);
                            capabilities.push(resJSON[i][ind][vals]);
                            }
                        }
                    }
                    console.log('capabilities', capabilities);
                }.bind(this),
                onException: function(){
                    Ext.Msg.alert(ORYX.I18N.Oryx.title, 'Exception while getting capabilities list').setIcon(Ext.Msg.WARNING).getDialog().setWidth(260).center().syncSize();
                }.bind(this),
                onFailure: (function(transport) {
                    Ext.Msg.alert(ORYX.I18N.Oryx.title, ORYX.I18N.Hbpmn.getFailure).setIcon(Ext.Msg.WARNING).getDialog().setWidth(260).center().syncSize();
                }).bind(this),
                on401: (function(transport) {
                    Ext.Msg.alert(ORYX.I18N.Oryx.title, ORYX.I18N.Hbpmn.getFailure).setIcon(Ext.Msg.WARNING).getDialog().setWidth(260).center().syncSize();
                                        }).bind(this),
                on403: (function(transport) {
                    Ext.Msg.alert(ORYX.I18N.Oryx.title, ORYX.I18N.Hbpmn.getFailure).setIcon(Ext.Msg.WARNING).getDialog().setWidth(260).center().syncSize();
                }).bind(this)
            });看一看文档。onLoading映射到XHR生命周期中的初始化阶段。因此,这里将是初始化加载gif或类似的适当位置。
https://stackoverflow.com/questions/32128048
复制相似问题