我创建了一个模型,其中包含一个代理来加载单个记录,并且它不带参数。我不想使用商店,因为我永远不会有一个以上的记录。我创建了Model的一个实例,但无法弄清楚如何告诉它调用并从服务器加载记录。这是我能找到的唯一例子,但我没有传递ID。
User.load(123, {
success: function(user) {
console.log("Loaded user 123: " + user.get('name'));
}
});
此外,我正在制作和ajax电话,而不是休息电话。
答案 0 :(得分:1)
load(id, [config]) 是静态的,返回会为您提供新的记录实例。它使用通过 setProxy(proxy) (也是静态)设置的代理。默认情况下,它将发送带有参数id: 123
的读取请求。静态方法允许您在可选的配置对象中设置一些默认回调。获取加载记录的实例(或错误)需要这些回调。
工作原理
// create a Model class
Ext.define('MyApp.User', {
extend: 'Ext.data.Model',
fields: [
{name: 'id', type: 'int'},
{name: 'name', type: 'string'}
]
});
// apply a proxy instance
MyApp.User.setProxy(/*YourAjaxProxy*/);
// prepare a handler
var cb = function(model, op) {
// log the new model instance
console.log(model);
};
// get a instance
MyApp.User.load(123, {
scope: this, // should be the scope of the callback (cb)
success: cb
});
不是你需要的?只是评论......
答案 1 :(得分:0)
只需发出Ajax请求并将结果存储在变量中。
Ext.Ajax.request({
url: '/data/get',
method: 'GET',
params: {
requestID: 'XXXX',
connName: 'yyyy'
},
success: function (responseData) {
var countResult = Ext.decode(responseData.responseText); }
});