我尝试开始使用 ExtJs,但我有一个非常基本的问题。
我有一个模型
Ext.define('Mb.model.User', {
extend: 'Ext.data.Model',
fields: [
{ name: 'id', type: 'int' },
{ name: 'name', type: 'string' },
...
],
proxy: {
type: 'ajax',
url : 'server/gui/getUser.php'
}
});
getUser.php 返回一个 json 字符串(它是登录的用户,而不是用户表中的用户):
{"id":"1","name": ... }
我尝试了以下方法来加载数据,但收到错误Uncaught TypeError: Object [object Object] has no method 'load'
Ext.define('Mb.Application', {
...
launch: function() {
....
user = Ext.create('Mb.model.User');
user.load();
}
});
加载该数据的正确方法是什么?
另一个问题:这里使用Model
有什么好处?
我不能做这样的事情吗?
Ext.Ajax.request({
url: 'server/gui/getUser.php',
success: function(response){
var user = Ext.JSON.decode(response.responseText);
}
});
最佳答案
在这种情况下,load 是一个静态方法。您可以通过传递 id 从服务器加载模型。
Mb.model.User.load(id, {
success: function(rec) {
console.log('loaded', rec.getData());
}
});
使用模型的优点是抽象层,以及使用模型获得的额外功能。
关于ajax - 如何在ExtJs中从ajax加载json数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19220903/