2010-02-26 4 views
1

Как я могу изменить этот пример http://www.extjs.com/deploy/dev/examples/tree/reorder.html
для поддержки RESTful?ExtJS TreePanel RESTful поддержка

Когда мы нажимаем на какой-либо узел, он отправляет POST как «node = src/dd», но это не работает для RESTful.
Это должно быть, например, как «node/src_dd», и GET будет приятным.

Я нашел, что поддержка ExtJS RESTful для магазина.
http://www.extjs.com/deploy/ext-3.0-rc2/examples/restful/restful.html

Спасибо,

ответ

3

Вы должны создать свой собственный пользовательский класс TreeLoader построить имена узлов RESTfully в URL вместо передачи «узел» в качестве Param. Как вы можете видеть из этого примера кода, указание вашего собственного TreeLoader позволяет вам легко указать метод HTTP-запроса.

root: new Ext.tree.AsyncTreeNode({ 
    expanded: true, 
    loader: new Ext.tree.TreeLoader({ 
    url: '/sample-data-toc.json', 
    requestMethod: 'GET', 
    preloadChildren: true 
    }) 
}) 

Dig в TreeLoader класса и расширить его, чтобы обеспечить собственную схему URL.

EDIT: после того, как смотреть на TreeLoader источник, похоже, вы должны переопределить requestData правильно установить url на основе node, и вы, вероятно, захотите изменить getParams чтобы либо вернуть ничего или какой-либо специальную строку запроса параметры, которые у вас есть. Не должно быть слишком много работы. Когда вы закончите, поделитесь своим RESTfulTreeLoader с сообществом!