2010-02-26 5 views
1

Comment puis-je modifier cet exemple http://www.extjs.com/deploy/dev/examples/tree/reorder.html
pour le support RESTful? Lorsque nous cliquons sur un nœud, il envoie un POST en tant que "node = src/dd", mais cela ne fonctionne pas pour RESTful.
Cela devrait être par exemple "node/src_dd", et GET sera sympa.ExtJS TreePanel RESTful soutien

J'ai trouvé que ExtJS supporte RESTful pour Store.
http://www.extjs.com/deploy/ext-3.0-rc2/examples/restful/restful.html

Merci,

Répondre

3

Vous devrez créer votre propre classe personnalisée TreeLoader pour construire les noms de noeud restfully dans l'URL au lieu de passer « nœud » comme param. Comme vous pouvez le voir à partir de cet exemple de code, la spécification de votre propre TreeLoader vous permet de spécifier facilement la méthode de requête HTTP.

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

Dig dans la classe TreeLoader et l'étendre à fournir votre propre schéma d'URL.

EDIT: après avoir regardé la source TreeLoader, il semble que vous devriez remplacer requestData pour régler correctement le url en fonction de la node, et vous aurez probablement envie de changer getParams soit rien renvoyer ou d'une chaîne de requête spéciale params vous avez. Ne devrait pas être trop de travail. Lorsque vous avez terminé, partagez votre RESTfulTreeLoader avec la communauté!