我可以使用jquery ajax调用ext js ajax调用的错误功能吗?

时间:2016-08-10 06:07:45

标签: jquery ajax extjs

在我的应用程序中,有两种类型的ajax调用。

1.Ext js ajax调用。 2.Jquery ajax电话。

以下是每个代码的两个代码示例。

1.Ext js ajax calls。

Ext.get(document.body).mask('Processing...', 'x-mask-loading');
    searchURL = getFormAction('hm.web.HMCaregiverManager', 'getCountryKeyTx');
    var conn = new Ext.data.Connection();
    conn.request({
        url: searchURL,
        method: 'POST',
        params: {"hm_caregiver_country_uno"  : countryUno
                },
        success: function(responseObject) {

            var countryKeyTx  = responseObject.responseText;
            initCountryDropDowns(countryKeyTx);

            Ext.get(document.body).unmask(true);

        },
         failure: function() {
             Ext.Msg.alert('Failure', 'Unable to contact server');
             Ext.get(document.body).unmask(true);
         }
    });

2.Jquery ajax调用。

$.ajax({
                type: 'POST',
                url: validateAjaxURL,
                success: function (data) {                  
                    var returnData = data;  
                    if (returnData.match("^selectedUno-")) {    

                          $('#new_caregiver_popup_div').dialog('close');    
                    }else{
                        $("#new_caregiver_popup_div").html(data);
                    }
                },
                error: function (jQXHR, textStatus, errorThrown) {
                    handleAjaxError(jQXHR, textStatus, errorThrown);                        
                }
        });

我在jquery ajax调用错误:选项中使用“jQXHR,textStatus,errorThrown”参数以获取有关错误的详细信息。我想获得ext js ajax调用失败的错误细节。所以我可以包含该错误函数而不是ext js ajax调用的失败函数。那么代码将是这样的。

Ext.get(document.body).mask('Processing...', 'x-mask-loading');
    searchURL = getFormAction('hm.web.HMCaregiverManager', 'getCountryKeyTx');
    var conn = new Ext.data.Connection();
    conn.request({
        url: searchURL,
        method: 'POST',
        params: {"hm_caregiver_country_uno"  : countryUno
                },
        success: function(responseObject) {

            var countryKeyTx  = responseObject.responseText;
            initCountryDropDowns(countryKeyTx);

            Ext.get(document.body).unmask(true);

        },
         **failure: function (jQXHR, textStatus, errorThrown) {
                    handleAjaxError(jQXHR, textStatus, errorThrown);                        
                }**
    });

这个ext js ajax代码会起作用吗?任何帮助都会感激不尽。

1 个答案:

答案 0 :(得分:2)

在extjs中,所有请求都是ajax。负责这个的类是Ext.Ajax

这是api: https://docs.sencha.com/extjs/5.1.3/Ext.Ajax.html#method-request

Ext.Ajax.request({
    url: 'ajax_demo/sample.json',
    success: function(response, opts) {
        var obj = Ext.decode(response.responseText);
        console.dir(obj);
    },
    failure: function(response, opts) {
        console.log('server-side failure with status code ' + response.status);
    }
});

失败功能有两个参数:

failure :  Function
    The function to be called upon failure of the request. The callback is passed the following parameters:

    response :  Object
        The XMLHttpRequest object containing the response data.
    options :  Object
        The parameter to the request call.