+ Antworten
Ergebnis 1 bis 3 von 3

Thema: Problem mit Mootools Ajax - Request geht immer schief

  1. #1
    War schon öfter hier
    Registriert seit
    24.11.2008
    Beiträge
    117
    Bedankte sich
    8
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Standard Problem mit Mootools Ajax - Request geht immer schief

    hallo leute,

    ich hab ein Problem Ajax per Mootools. In Anlehnung an dieses Tutorial will ich Ajax nun per Mootools in meine Sites implementieren anstatt eigene JS zu verwenden. Mein Problem ist, dass mein Aufruf immer mit dem Fehler endet:
    500 Seitenansicht nicht gefunden [Name, Typ, Präfix] bmtv, raw, btmvView
    Ich bin mir aber fast 100%ig sicher, dass meinen gewünschter View existiert, da ich in ihm ja den Aufruf initilaisiere. Könntet ihr bitte mal auf meinen Code schauen und sagen, was ich falsch mache?

    /com_bmtv/controller.php
    PHP-Code:
    class BmtvController extends JController {

       public function 
    display()
       {
          
    // Make sure we have a default view by forcing the bmtv view
          
    JRequest::setVar('view''bmtv' );
          
    parent::display();
       }
        
       public function 
    sayit()
       {    
          
    //jexit('angekommen');
          
    echo '<strong>Yessssss!</strong>';
          return;
       }

    /com_bmtv/views/bmtv/view.html.php
    PHP-Code:
    class BmtvViewBmtv extends JView {

       public function 
    display($tpl null)
       {
          
    $doc =& JFactory::getDocument();
          
    $doc->addScriptDeclaration$this->getJavaScript() );
          
    parent::display($tpl);
       }

       public function 
    getJavaScript()
       {    
          
    $js "window.addEvent( 'domready', function() {      
             $('drop-down').addEvent( 'change', function() {
                $( 'ajax-container' ).empty().addClass( 'ajax-loading' );
                url = 'index.php?option=com_bmtv&view=bmtv&task=sayit&format=raw';
                var a = new Ajax( url, {
                   method: 'get',
                   onComplete: function(response) {  
                      //alert(this.response.text);
                      $('ajax-container').removeClass('ajax-loading').set('html', response); 
                   }
                });
                a.request();
             });
          });"
    ;
          return 
    $js;
       }


    /com_bmtv/views/bmtv/tmpl/default.php
    PHP-Code:
    <select name="drop-down" id="drop-down">
       <
    option value="1">Item 1</option>
       <
    option value="2">Item 2</option>
       <
    option value="3">Item 3</option>
    </
    select>
    <
    br />
    <
    div id="ajax-container" style="border:1px solid red;"></div
    Der vorgegebene URL ist doch korrekt!? So hab ich den Auf auch immer in meinen eigenen Scripten gemacht. Warum bekomme ich dann den beschriebenen Fehler? Ich hab versucht, den Aufruf meiner Task-Funktion zu dumpen, indem ich darin ein jexit('angekommen'); platziert habe. Das wird aber nie ausgeführt, was dafür spricht, dass diese Funktion garnicht aufgerufen wird. Was mache ich falsch?

    Grüße, Clubnite
    Geändert von Clubnite (09.02.2010 um 12:14 Uhr)

  2. #2
    Verbringt hier viel Zeit
    Registriert seit
    31.05.2008
    Beiträge
    801
    Bedankte sich
    0
    Erhielt 268 Danksagungen
    in 214 Beiträgen

    Standard

    Zitat Zitat von Clubnite Beitrag anzeigen

    Code:
    500 Seitenansicht nicht gefunden [Name, Typ, Präfix] bmtv, >>raw<<, btmvView
    /com_bmtv/views/bmtv/view.>>html<<.php
    passt wohl der Dateiname nicht.
    lg Måria

  3. #3
    War schon öfter hier
    Registriert seit
    24.11.2008
    Beiträge
    117
    Bedankte sich
    8
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Standard

    mir ist nicht klar, was du meinst. die datei view.html.php hat im zusammenhang mit meinen scripten auch keine probleme gemacht. sie ist doch das "Mini-Model" für meine default.php datei und bereitet daten zur verarbeitung vor!? falls du meinst, ich solle neben der view.html.php auch noch eine view.raw.php verwenden, so muss ich dazu mal sagen, dass ich bislang (ohne mootools) für alle requests nicht einmal ne view.raw.php verwendet hab. sonst habe ich eine js-funktion gerufen, die meine daten über 'index.php?option=com_mycomp&format=raw&task=proce ssdata geschickt hat. diese funktion processdata() in meinem controller hat per echo stino html-code ausgegeben, den die onreadystatechange-funktion im javascript in die default.php eingefügt hat. genau das muss doch auch über mootools möglich sein!?

    Edit:
    Problem gelöst! des rätsels lösung lag in der unzureichenden controller->execute() anweisung in der komponenten-einstiegsdatei. statt controller->execute(null) sage ich nun $controller->execute (JRequest::getVar ('task', null, '', 'string')) . nun funktioniert es - auch ohne view.raw.php.

    gruß, clubnite
    Geändert von Clubnite (27.01.2010 um 20:01 Uhr)

+ Antworten

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein