2

単一のレコードをロードするためのプロキシを含み、パラメータをとらないモデルを作成しました。レコードが1つしかないので、ストアを使用したくありません。モデルのインスタンスを作成しましたが、サーバーからレコードを呼び出してロードするようにモデルに指示する方法がわかりません。これは私が見つけた唯一の例ですが、渡すIDがありません。

User.load(123, {
success: function(user) {
    console.log("Loaded user 123: " + user.get('name'));
}
});

また、重要な場合に備えて、残りの呼び出しではなく、ajax呼び出しを行っています。

4

2 に答える 2

1

load(id、[config])は静的であり、新しいレコードインスタンスを返します。setProxy(proxy)(これも静的)を介して設定されたプロキシを使用します。デフォルトでは、paramsを使用して読み取り要求を送信しますid: 123。staticメソッドを使用すると、オプションのconfigオブジェクト内にいくつかのデフォルトのコールバックを設定できます。これらのコールバックは、ロードされたレコード(またはエラー)のインスタンスを取得するために必要です。

使い方

// 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
});

必要なものではありませんか?コメントするだけ...

于 2013-01-22T14:58:18.853 に答える
0

Ajaxリクエストを作成し、結果を変数に格納するだけです。

 Ext.Ajax.request({
                    url: '/data/get',
                    method: 'GET',
                    params: {
                        requestID: 'XXXX',
                        connName: 'yyyy'
                    },
                    success: function (responseData) {
                       var countResult = Ext.decode(responseData.responseText);                      }
                });
于 2013-01-23T09:00:38.750 に答える