如何处理Extjs存储异常?

时间:2019-08-12 13:51:34

标签: extjs

我正在使用Extjs 6.5.3经典工具包。我正在为网格存储。我想处理商店加载异常。我该如何处理?

我的商店是这样的:

<%=form_with, local: true do |form| %>

<%= form.label :comment %>
<%= form.text_area :body, :rows=>10, :cols=>60 %>

<% end %>

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

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',

        }
    }

});  

失败时:

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

我想捕获此失败,并希望将消息显示为“重复”。

请帮助!

谢谢。

1 个答案:

答案 0 :(得分:0)

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

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

    }
}

工作Fiddle