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',
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"
}
]
}
失败时:
{
"returnCode": 1,
"messageKey": null,
"detailedMessage": null,
"exception": null,
"browser": "Mozilla 5.0 (Windows)",
"customParams": null,
"errorMessages": [
{
"messageKey": "duplicate",
"detailedMessage": "Duplicate."
}
],
"success": false
}
我想抓住这个失败,并希望将消息显示为“重复”。
请帮忙!!
先感谢您。
解决方案
您可以监听商店的加载事件,然后检查响应是否成功,如下所示:
listeners: {
load: function(store, records, success) {
if (!success) {
Ext.Msg.show({
title: 'Error',
message: recs[0].data.errorMessages[0].detailedMessage
})
}
}
}
工作小提琴
推荐阅读
- sql - SQL - 删除重复列错误
- ruby-on-rails - 在 ActiveStorage 中使用变体选项后如何保存图像副本。
- docker - Hyperledger-fabric 区块链多主机
- wpf - 如何修复“InvalidOperationException:必须在 ShaderEffect 上设置 PixelShader”VS2017 错误?
- json - 使用引用验证 Json 架构
- scala - 无法在 playframework 2.6.17 中解析 mock[....]
- android - 将参数传递给 strings.xml ANDROID 中的字体大小
- typescript - 打字稿类创建多次调用
- mysql - 上一年的 SQL 运行总计
- python - Pandas - 在 CSV 文件的不同列中找到相同值的更快方法?