EXTJS4 - Для TreeStore, как передать параметры и методы действий? - PullRequest
2 голосов
/ 21 июня 2011

Я использую Extjs4 TreeStore, я хочу знать, как передавать параметры (например, mode = 'list') и методы действий (POST или GET).

Заранее спасибо.

EXTJS 3.x Я использовал вот так, он работает нормально:

loader: new Ext.tree.TreeLoader({
    dataUrl: 'content/permissions/server.php',
    baseParams: {
        mode: 'getPermissions'
    }
})

EXTJS 4.x Я использовал вот так, но он не работает:

Ext.create('Ext.data.TreeStore', {
    autoLoad: true,
    proxy: {
        type: 'ajax',
        url: 'server.php'
    },
    extraParams: {
        mode: 'getTree'
    },
    actionMethods: 'POST',
    root: {
        text: 'Tree',
        id: 'src',
        expanded: true
    }
});

Спасибо, Riyaz

Ответы [ 3 ]

5 голосов
/ 21 июня 2011

Тщательно проверьте параметры конфигурации с текущей Ext JS 4 API-документацией .

То, что я вижу на первый взгляд:

  1. actionMethods является объектом, а не конфигурацией строкового значения.Он реализован как в AJAX, так и в REST-прокси.Если вам нужно полнофункциональное редактируемое дерево, рассмотрите прокси REST .Только если вы выходите за пределы CRUD, вам необходимо предоставить дополнительный actionMethods прокси REST.

  2. extraParams принадлежит прокси, а не конфигурации дерева.

Итак, конфигурация вашего магазина должна выглядеть следующим образом:

Ext.create('Ext.data.TreeStore', {
  autoLoad: true,
  proxy: {
    type: 'ajax',
    url: 'server.php',
    extraParams: {
      mode: 'getTree'
    },
  },
  root: {
      text: 'Tree',
      id: 'src',
      expanded: true
  }
 });

Вы проверяли, был ли хотя бы Ajax-запрос отправлен на сервер?Вы можете легко проверить это с помощью FireBug .

0 голосов
/ 02 сентября 2011

пример правильной настройки:

  actionMethods: {
                destroy:'DELETE',
                create: 'POST',
                update: 'POST',
                read: 'GET'
            },
0 голосов
/ 21 июня 2011

Это правильный

Ext.create('Ext.data.TreeStore', {
    autoLoad: true,
    proxy: {
        type: 'ajax',
        url: 'server.php',
        extraParams: {
            mode: 'getTree'
        },
        actionMethods: 'POST'
    },
    root: {
        text: 'Tree',
        id: 'src',
        expanded: true
    }
});
...