0

extjs4ストアを使用しています

xhtpp呼び出しでは、http://localhost/home_dir/index.php/questions/content_pie?_dc=1312366604831&hi=&page=1&start=0&limit=25

これはストアコードです

    var content_type_store = new Ext.data.Store({
    proxy: new Ext.data.HttpProxy({
    url: BASE_URL+'questions/content_pie',
    method:'POST',
    params :{hi:''}

    }),
    reader: new Ext.data.JsonReader({
    root: 'results'
    }, [
    'qtype',
    'qval'
    ])
    });

メソッドをPOSTとして設定しても、そのgetparamsはURLに表示されます

フレームワークとしてcodeigniterを使用しています。CIでGETパラメータを無効にしました。投稿でパラメータを送信するIwnat。ext2と3では、このコードは正常に機能しました。

助けて

ありがとう

4

1 に答える 1

2

method:'POST'プロキシの設定では機能しません。そのような構成オプションはありません。ただし、ストアを使用するには2つの方法がありますPOST。より単純なもの-関数をオーバーライドするだけですgetMethod

var content_type_store = new Ext.data.Store({
  proxy: {
    type: 'ajax',
    url: BASE_URL+'questions/content_pie',
    extraParams :{hi:''},
    // Here Magic comes
    getMethod: function(request){ return 'POST'; }

  },
  reader: {
    type: 'json',
    root: 'results'
  }
});

actionMethods2番目の方法:プロキシのプロパティをオーバーライドします。この方法を選択した場合、プロキシは次のようになります。

  // ...
  proxy: {
    type: 'ajax',
    url: BASE_URL+'questions/content_pie',
    extraParams :{hi:''},
    // Here Magic comes
    actionMethods: {
      create : 'POST',
      read   : 'POST',
      update : 'POST',
      destroy: 'POST'
    }
  },
  // ...
于 2011-08-03T13:03:49.587 に答える