Магазин extjs4 добавляет параметры получения в URL

я использую магазин 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, его параметры получения отображаются в URL-адресе.

В качестве основы я использую codeigniter. Я отключил параметры GET в CI. Iwnat отправить параметры в почте. с ext2 и 3 этот код работал нормально..

Помоги мне

Спасибо


person nani1216    schedule 03.08.2011    source источник
comment
Лучше вставить код, как вы отправляете параметры, вместо хранилища. Насколько я знаю, вам нужно создать модель в ExtJS4, указанная выше, которую вы вставили, не будет работать в ExtJS4.   -  person Unknown    schedule 03.08.2011
comment
Я отправляю параметры таким образом ' content_type_store.load({params:{hi:''}}); '. Я новичок в extjs4 MVC. Вы можете помочь мне, как я могу это сделать   -  person nani1216    schedule 03.08.2011
comment
stackoverflow.com/questions/6060947/   -  person Robert Peters    schedule 01.02.2012
comment
@ nani1216 nani1216 У меня есть сомнения. Если у вас есть разрешение на чат, посмотрите это< /а>   -  person    schedule 20.02.2012


Ответы (1)


method:'POST' в конфиге прокси работать не будет. Нет такой опции конфигурации. Однако есть два способа заставить магазин использовать 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'
  }
});

Второй способ: переопределить свойство actionMethods прокси. Если вы выберете этот способ, ваш прокси должен выглядеть так:

  // ...
  proxy: {
    type: 'ajax',
    url: BASE_URL+'questions/content_pie',
    extraParams :{hi:''},
    // Here Magic comes
    actionMethods: {
      create : 'POST',
      read   : 'POST',
      update : 'POST',
      destroy: 'POST'
    }
  },
  // ...
person Molecular Man    schedule 03.08.2011
comment
но как я могу передать тело запроса? - person Isaac; 15.05.2013