【问题标题】:What does the exception Uncaught Error: Invalid record id returned for... means?Uncaught Error: Invalid record id returned for... 异常是什么意思?
【发布时间】:2015-10-22 15:57:06
【问题描述】:

我们正在使用 ExtJS 6.0.0 GPL

The situation includes a Grid which when a row is selected and the edit button is clicked a form is created.
表单的字段绑定到动态视图模型。 此视图模型有一个链接到对应于该行的模型。

不确定上述是否有帮助,但我们真的无法理解以下异常。

未捕获的错误:为 5@UserExt.Error @ ext-all-rtl-debug.js?_dc=1445528508045:2312Ext.apply.raise @ ext-all-rtl-debug.js?_dc=1445528508045 返回了无效的记录 ID :2371Ext.raise @ ext-all-rtl-debug.js?_dc=1445528508045:2450options.recordCreator @ ext-all-rtl-debug.js?_dc=1445528508045:80876Ext.define.extractRecord @ ext-all-rtl-debug .js?_dc=1445528508045:82934Ext.define.extractData @ ext-all-rtl-debug.js?_dc=1445528508045:82890Ext.Base.Base.addMembers.callParent @ ext-all-rtl-debug.js?_dc=1445528508045 :11714Ext.define.extractData@ext-all-rtl-debug.js?_dc=1445528508045:86691Ext.define.readRecords@ext-all-rtl-debug.js?_dc=1445528508045:82834Ext.Base.Base.addMembers.callParent @ ext-all-rtl-debug.js?_dc=1445528508045:11714Ext.define.readRecords @ ext-all-rtl-debug.js?_dc=1445528508045:86634Ext.define.read @ ext-all-rtl-debug.js ?_dc=1445528508045:82749Ext.define.processResponse@ext-all-rtl-debug.js?_dc=1445528508045:85771(匿名函数)@ext-all-rtl-debug.js?_dc=14455285080 45:86367Ext.apply.callback @ ext-all-rtl-debug.js?_dc=1445528508045:8174Ext.define.onComplete @ ext-all-rtl-debug.js?_dc=1445528508045:24691Ext.define.onStateChange @ ext- all-rtl-debug.js?_dc=1445528508045:24631(匿名函数)@ext-all-rtl-debug.js?_dc=1445528508045:6404

结果是出现了表单,但字段未填充数据,如果用户再尝试一次,则整个应用程序崩溃。

欢迎提出任何想法!

【问题讨论】:

  • 你能发布模型吗?您是在使用自定义标识符还是在模型上配置“特殊”id 字段?

标签: debugging extjs


【解决方案1】:

Sencha ExtJS 魔法造成了这个奇怪的错误。

实际上在后台有一个 GET 请求从服务器检索特定模型。

奇怪的行为需要时间

这是 extjs 框架的意外行为,因为模型已被检索并保存在内存中。
目前没有我们的源代码询问或暗示与服务器有任何连接。

我们猜测这是为了从服务器刷新数据的默认行为,以防万一其他用户同时更改了数据,但仍然令人惊讶。

这种“魔法”对任何开发团队都没有好处。

无论如何,在实施/user/list?id=XXX 之后,它运行良好。 注意我们使用的是代理 ajax

【讨论】:

    【解决方案2】:

    我知道这是旧的,但我想说这种行为是会话中没有商店的结果。

    转到视图模型并将绑定到网格的商店的配置设置为 session: true ,仅此而已。

    否则,当模型代理向其发送记录 ID 时,您将不得不在服务器上实现单个模型响应。

    另一个有趣的行为是,当您尝试编辑网格的第一行时,会往返于服务器,您的服务器会回答所有行,并且由于服务器返回的行具有相同的顺序,因此第一行与您尝试编辑的相同,因此框架可以成功解析数据并且不会因错误而吠叫。

    【讨论】:

      猜你喜欢
      • 2018-08-12
      • 2021-09-07
      • 1970-01-01
      • 2022-11-21
      • 1970-01-01
      • 2018-01-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多