Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何处理Extjs存储异常?_Extjs - Fatal编程技术网

如何处理Extjs存储异常?

如何处理Extjs存储异常?,extjs,Extjs,我使用的是Extjs 6.5.3经典工具包。我正在存储网格。我想处理存储加载异常。我该怎么办 我的商店是这样的: Ext.define('RUI.store.ProjectListStore', { extend: 'Ext.data.Store', sortOnLoad: false, pageSize:RUIRamboConstants.DEFAULT_PAGE_SIZE, proxy : { type : 'ajax',

我使用的是Extjs 6.5.3经典工具包。我正在存储网格。我想处理存储加载异常。我该怎么办

我的商店是这样的:

Ext.define('RUI.store.ProjectListStore', {
    extend: 'Ext.data.Store',
    sortOnLoad: false,
    pageSize:RUIRamboConstants.DEFAULT_PAGE_SIZE,
      proxy : {
        type : 'ajax',
        actionMethods: {
            read: 'POST'
        },
        url:    'api.do',
        reader: {
            rootProperty: 'List',
            type: 'json',
            isURLConvert : true,
            totalProperty: 'TotalRecords',

        }
    }

});  
listeners: {
    load: function(store, records, success) {
        if (!success) {
            Ext.Msg.show({
                title: 'Error',
                message: recs[0].data.errorMessages[0].detailedMessage
            })
        }

    }
}
我从服务器收到以下响应:

{
  "limit": 10,
  "page": 1,
  "start": 0,
  "TotalRecords": 2,
  "userFilterId": 0,
  "List": [
    {
      "id": 1,
      "name" : "abc"
    },
    {
      "id": 1926722,
     "name" : "xyz"
    }
  ]
}
发生故障时:

{
  "returnCode": 1,
  "messageKey": null,
  "detailedMessage": null,
  "exception": null,
  "browser": "Mozilla 5.0 (Windows)",
  "customParams": null,
  "errorMessages": [
    {
      "messageKey": "duplicate",
      "detailedMessage": "Duplicate."
    }
  ],
  "success": false
}
我希望捕获此失败并将消息显示为“重复”

请帮忙


提前感谢您。

您可以收听商店的加载事件,然后检查响应是否成功,如下所示:

Ext.define('RUI.store.ProjectListStore', {
    extend: 'Ext.data.Store',
    sortOnLoad: false,
    pageSize:RUIRamboConstants.DEFAULT_PAGE_SIZE,
      proxy : {
        type : 'ajax',
        actionMethods: {
            read: 'POST'
        },
        url:    'api.do',
        reader: {
            rootProperty: 'List',
            type: 'json',
            isURLConvert : true,
            totalProperty: 'TotalRecords',

        }
    }

});  
listeners: {
    load: function(store, records, success) {
        if (!success) {
            Ext.Msg.show({
                title: 'Error',
                message: recs[0].data.errorMessages[0].detailedMessage
            })
        }

    }
}

正在工作

您可以监听商店的加载事件,然后检查响应是否成功,如下所示:

Ext.define('RUI.store.ProjectListStore', {
    extend: 'Ext.data.Store',
    sortOnLoad: false,
    pageSize:RUIRamboConstants.DEFAULT_PAGE_SIZE,
      proxy : {
        type : 'ajax',
        actionMethods: {
            read: 'POST'
        },
        url:    'api.do',
        reader: {
            rootProperty: 'List',
            type: 'json',
            isURLConvert : true,
            totalProperty: 'TotalRecords',

        }
    }

});  
listeners: {
    load: function(store, records, success) {
        if (!success) {
            Ext.Msg.show({
                title: 'Error',
                message: recs[0].data.errorMessages[0].detailedMessage
            })
        }

    }
}

工作

您需要从响应中提取该特定标志,然后在UI上显示它。您如何调用store它是自动加载的/您手动调用的?我手动调用它您需要从响应中提取特定标志,然后在UI上显示它。你是怎么打电话给商店的它是自动加载的/你是手动打电话给它的?我是手动打电话给它的