2016-06-20 8 views
0

Ich habe eine Herausforderung, die mich nervt. Die Sache ist - ich erstelle ein Plugin, das einen AJAX-Aufruf an eine andere Datei in diesem Plugin macht. Es scheint, dass Joomla mich daran hindert, auf diese Datei zuzugreifen.So senden Sie einen Ajax-Anruf von Joomla-Plugin

Ich muss an eine Datei senden, die Daten von einem SOAP-Aufruf zurückgibt.

Ich rufe die Datei von dieser Linie:

$html .= '$.post("search.php", { address: $(\'#address\').val(), zipcode: $(\'#zipcode\').val() },'; 

Ich habe versucht, sowohl eine relativ, absolut und Server-Weg, sowie - Joomla es nicht mag. Aber ich kann mich nicht erinnern oder finde den richtigen Weg, es zu tun.

Die Datei befindet sich im selben Ordner wie das Plugin, das obigen Code ausgibt.

ist die komplette javascript mein Plugin Ausgänge funktionieren:

$html .= '<script type="text/javascript">'; 

    $html .= 'function searchParcels()'; 
    $html .= '{'; 
     $html .= '$.post("search.php", { address: $(\'#address\').val(), zipcode: $(\'#zipcode\').val() },'; 
      $html .= 'function(data) {'; 

       $html .= 'var shops = $.parseJSON(data);'; 
       $html .= '$(\'#shops_output\').html(\'\');'; 

       $html .= 'for(i in shops)'; 
       $html .= '{'; 
        $html .= 'var html = \'<p>\''; 
        $html .= '+ shops[i][\'CompanyName\'] + \'<br>\''; 
        $html .= '+ shops[i][\'Streetname\'] + \'<br>\''; 
        $html .= '+ shops[i][\'ZipCode\'] + \' \' + shops[i][\'CityName\'] + \'<br>\''; 
        $html .= '+ shops[i][\'Telephone\'] + \'<br>\''; 
        $html .= '+ \'</p>\';'; 
        $html .= '$(\'#shops_output\').append(html);'; 
       $html .= '}'; 

      $html .= '});'; 
    $html .= '}'; 

$html .= '</script>'; 

Jede Hilfe sehr :-) Dank geschätzt wird.

Antwort

1

Bitte überprüfen Sie this post auf wie Joomla Ajax-Schnittstelle zu verwenden (es scheint, Sie verwenden es nicht). Dies ist viel einfacher und viel sauberer (und viel mehr Standard) als die Methode, die Sie beschrieben haben. Alles, was Sie tun müssen, ist das Modul/Plugin zu erstellen (stellen Sie sicher, dass Sie einen Funktionsnamen haben, der mit "Ajax" endet) und dann den richtigen Anruf von irgendwo auf Ihrer Joomla Website ausgibt (stellen Sie sicher, dass Sie das URL - Muster verwenden, das auf der Webseite).

+0

Danke - dieser Artikel war eine große Hilfe! – Dyvel

Verwandte Themen