如何处理Extjs存储异常?
我使用的是Extjs 6.5.3经典工具包。我正在存储网格。我想处理存储加载异常。我该怎么办 我的商店是这样的:如何处理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',
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上显示它。你是怎么打电话给商店的它是自动加载的/你是手动打电话给它的?我是手动打电话给它的