在Ext.ajax上添加异常请求Ext JS 6

时间:2018-04-30 07:06:50

标签: extjs sencha-touch extjs6 extjs6-classic

我想为所有AJAX请求添加400,500个异常。以下是我在每个AJAX请求中为beforeload所做的事情。

Ext.define('Inertia.view.BaseUrl', {
singleton : true,
constructor : function(config) {

    this.initConfig(config);
    Ext.Ajax.on('beforerequest', this.onBeforeRequest, this);
},

onBeforeRequest : function(connection, options) {
    options.headers = {
        'token': 'random-token',
        'code': 'random-codeABC'
    };
}

 });

现在我想为所有请求添加一个异常,如果请求以某种方式没有加载我想要捕获异常。我该怎么做 我试试这个,但它不起作用

Ext.define('Inertia.view.BaseUrl', {
singleton : true,
constructor : function(config) {

    this.initConfig(config);
    Ext.Ajax.on('beforerequest', this.onBeforeRequest, this);
    Ext.Ajax.on('exception', this.exception, this);
},

onBeforeRequest : function(connection, options) {
    options.headers = {
        'token': 'random-token',
        'code': 'random-codeABC'
    };
},
 exception: function (){
     alert('An Exception occured...!');
   }
 });

1 个答案:

答案 0 :(得分:1)

您可以像下面这样使用它: -

/**
 * @ajaxrequest error handling
 */
Ext.Ajax.on('requestexception', function (conn, response, options, eOpts) {
    try {
        alert(response.status);
    } catch (error) {
        console.log(error);
    }
});

或者像这样: -

requestexception: function (conn, response, options, eOpts) {
    try {
        alert(response.status);
    } catch (error) {
        console.log(error);
    }
}