2

グリッドとグリッド外のいくつかのオプションがあります...私のプロキシはASPXページへのPOSTリクエストです。

_store = new Ext.data.JsonStore({
        proxy: new Ext.data.HttpProxy({
            url: 'resultpage.aspx?initalparam=1...',
            method: "POST"
        }),
        reader: _reader,...

私が欲しいのは、私のオプションのいずれかが選択され、そのオプションをクエリ文字列パラメーター(またはpostパラメーター)として追加し、postリクエストを行ったときです。

参照:http ://www.objis.com/formationextjs/lib/extjs-4.0.0/docs/api/Ext.grid.Panel.html

注:休眠コードは機能しません。単なるアイデアです。* ** * ** * ** * *

私は次のようなものを探しています:

myoption=...; //with DOM get option value
myurl = panelobj.getGrid().getStore().getProxy().getUrl();
panelobj.getGrid().getStore().getProxy().setUrl(myurl+"&myoption=" + myoption);
panelobj.Update();

または次のようなもっとクールなもの:

Ext.create('...ON OPTION CLICK...', append("&myoption=" + myoption); submit();..)
4

2 に答える 2

1

これをお探しですか?http://docs.sencha.com/ext-js/4-0/#!/api/Ext.data.proxy.Ajax-cfg-extraParams

各プロキシには、各リクエストに追加できる追加のパラメータがあります。

于 2012-04-20T00:01:23.350 に答える
0

この例はhttp://www.sencha.com/forum/showthread.php?9067-Ext.data.HttpProxy-and-extraParamsです。dsがデータストアであると想定します。

ds.proxy.getConnection().request({extraParams: { testParam2: 200 }, method: 'POST',url: ds.proxy.buildUrl()});

それはリクエストを行いますが、サーバー側では読み取ることができませんtestParam2Request["testParam2"]無効である

その方法は私にはうまくいきませんでした(私はバージョン3を使用しています)ので、 http://docs.sencha.com/ext-js/3-4/# !/ api / Ext.data.Connection (フォームパラメーター)paramsの代わりに使用しました: 役職)extraParams

ds.proxy.getConnection().request({params: { testParam2: 200 }, method: 'POST',url: ds.proxy.buildUrl()});

他の可能性は、URLを渡すことです(QueryStringパラメーター:GET)

ds.proxy.getConnection().request(method: 'POST',url: ds.proxy.buildUrl() + '&testParam2=200'});

// * ** * ** * ** * * その他の問題:

上記のコードを使用すると、リクエストを行うことができます...しかし、グリッドから完全に独立しています...取得されるデータは処理されません...グリッドにリクエストを実行させる方法は????? 知らない....

// * ** * ** * ** * 解決策:

以前のグリッドを削除し、新しいパラメータで新しいグリッドを追加してください!それは私のために働きます!

于 2012-04-20T15:29:58.777 に答える