CTreeView + AJAX

Hallo,

hab folgendes Proglem und zwar es wird die AJAX funktion nicht aufgerufen :confused:

Hab jetzt schon alles auf das minimum reduziert und finde einfach den Fehler nicht

Aufbau:

modules/merchant/KeywordController.php

modules/merchant/views/keyword/index.php

in der index.php:


<?php

$this->widget('CTreeView',array(

   // 'animated'=>'fast', //quick animation

   // 'collapsed' => true,

    'url' => array('ajaxFillTree'),

   // 'htmlOptions'=>array(

   //     'class'=>'treeview-famfamfam',

   // )

));

?>

im Controller:




public function actionAjaxFillTree()

    {

        echo 'askdjfalskdjf';

        if (!Yii::app()->request->isAjaxRequest) {

            echo 'blub != Ajax';

            exit();

        }

        echo 'hmm';


        if (isset($_GET['root'])){

            echo '$_GET is set';

            switch($_GET['root']){

                case 'source':

                    CTreeView::saveDataAsJson(array(array('id'=>'own', 'text'=>'Your Keywords', 'hasChildren'=>'true'),

                                                  array('id'=>'All', 'text'=>'All Keywords'),

                                              ));

                    exit();

                    break;


            }

        }

        exit();

    }



Also es wird nicht einmal die Funktion actionAjaxFillTree aufgerufen :(

hoffe es ist nur ein kleiner fehler und ihr könnt mir schnell weiter helfen

mfg

Nur eine Vermutung, aber probier einmal im view folgendes:


'url' => array('keyword/ajaxFillTree')

Zugegebenermaßen habe ich mit CTreeView und auch den anderen Widgets noch nicht allzu viel Erfahrung sammeln können.

verändert leider auch nichts :(

sonst noch jemand Ideen?

Siehst du AJAX requests im Firebug (oder sonstigem Debug tool im Browser)?

mit dem firebug bekomm ich jetzt eine OK message zurück

wenn ich folgendes einstelle:

‘url’ => Yii::app()->createUrl(‘merchant/keyword/ajaxFillTree’),

nun schreibt er im firebug "object is null"

ok hab nun den fehler gefunden




 public function actionAjaxFillTree()

    {

        

        if (!Yii::app()->request->isAjaxRequest) {

            echo 'blub != Ajax';

            exit();

        }


        if (isset($_GET['root'])){


            switch($_GET['root']){

                case 'source':

                    

                    echo CTreeView::saveDataAsJson(array(array('id'=>'own', 'text'=>'Your Keywords', 'hasChildren'=>'true'),

                                                  array('id'=>'All', 'text'=>'All Keywords'),

                                              ));

                    exit();

                    break;


            }

        }

        exit();

    }



saveDataAsJson muss ausgegeben werden!