ExtJS4 Model.save()错误:记录未定义

ExtJS4 Model.save() error: record is undefined.

本文关键字:记录 未定义 错误 Model save ExtJS4      更新时间:2023-09-26

我要做的事情:

我正在使用MVC架构用ExtJS 4制作一个应用程序。我有一个带有代理的Model(User)、一个store(Users)和一个Controller。

控制器监听"添加用户"按钮,该按钮从表单接收数据。我创建了一个新用户并传入数据:

var newUser = new MY.model.User({name: textInputValue}); //bob

然后呼叫

newUser.save({
    success: function() { ... },
    failure: function() { ... }
});

正在发生的情况:

无论我是否使用回调,即使save()函数参数为空,我都会得到以下错误:

record is undefined:
me.set(record.data);

抛出/第972行的ext-4.0.1/src/data/Model.js。

到目前为止,我能发现的是:

运行堆栈跟踪显示:

operation = Ext.create('Ext.data.Operation', options);

在第968行(与上面提到的Model.js文件相同),返回一个有记录的对象,其中有我正在传递的数据

这里有两个问题:

  1. 这是个虫子吗
  2. 我做错什么了吗

如有任何帮助,我们将不胜感激。

首先我建议您升级到最新的4.0.2a版本,这样您就得到了最新的错误修复。

ExtJS有自己的类系统,所以不能用new关键字实例化基于Ext的类。始终使用Ext.create从ExtJS实例化一个新类,而仅对基于原型的普通类使用new

对于模型,您可以通过模型管理器创建一个新实例:

var user = Ext.ModelManager.create({
    name : 'Bob'
}, 'User');