L'utilisation de Base des appels AJAX dans Magento

Je suis en train d'écrire un module pour réaliser un simple appel Ajax dans Magento, mais je suis incapable de le faire fonctionner jusqu'à présent - j'ai l'impression que je vais manquer un élément essentiel quelque part. Ce sont les fichiers que j'ai actuellement:

Creare/Groupedajax/controllers/AjaxController.php:

class Creare_Groupedajax_AjaxController extends Mage_Core_Controller_Front_Action {

    public function indexAction() {
        $this->loadLayout();
        $this->renderLayout();
    }
}

Creare/Groupedajax/etc/config.xml:

<?xml version="1.0"?>
<config>
  <modules>
    <Creare_Groupedajax>
      <version>0.1.0</version>
    </Creare_Groupedajax>
  </modules>
  <frontend>
    <routers>
      <groupedajax>
        <use>standard</use>
        <args>
          <module>Creare_Groupedajax</module>
          <frontName>groupedajax</frontName>
        </args>
      </groupedajax>
    </routers>
    <layout>
      <updates>
        <groupedajax>
          <file>groupedajax.xml</file>
        </groupedajax>
      </updates>
    </layout>
  </frontend>
</config>

Mon Appel Ajax:

$j.post("groupedajax/ajax/index", { size: $j(this).val()}, function(data) {
        $j('#results').html(data);
    });

layout/groupedajax.xml:

<?xml version="1.0"?>
<layout version="1.0">
  <groupedajax_ajax_index>
    <block type="groupedajax/groupedajax" name="root" output="toHtml" template="groupedajax/groupedajax.phtml" />
  </groupedajax_ajax_index>
</layout>

Mon .phtml fichier simplement a 'test' dans le moment. J'ai juste besoin de mes résultats div pour retourner le "test" de la valeur. Je veux juste savoir si tous les bits sont en place pour que cela fonctionne?

C'est le tuto que j'ai suivi: http://www.atwix.com/magento/ajax-requests-in-magento/

======================== RÉSOLU ========================

J'ai juste besoin d'une barre oblique au début de mon url:

$j.ajax({
        url: "/groupedajax/ajax/index",
        type: "POST",
        data: "size="+$j(this).val(),
        success: function(data) {
        $j('#results').html(data);
        }
    });
  • Diviser le problème en tâches plus petites. Qu'advient-il si vous accédez à l'URL "example.com/groupedajax/ajax/index" directement? Depuis jQuery est donné un chemin d'accès relatif est-il accéder à l'URL correcte? Utiliser Firebug pour vérifier. Avez-vous un bloc de la classe qui correspond au type groupedajax/groupedajax ou qui pourraient le plus simple core/template être utilisé à la place?
  • Quand je suis arrivé à /groupedajax/ajax/index je vois "test" donc, c'est de travailler. J'ai changé le type de "core/template" parce que je n'ai pas de correspondance de Bloc de la classe qui était un oubli de ma part. Je vais garder le contrôle... peut-être l'ajax de Jquery appel cessé de fonctionner...
  • J'ai pensé à elle - mon Jquery URL script a besoin d'une barre oblique au début: $j.post("/groupedajax/ajax/index", { size: $j(ce).val()}, function(data) { $j('#résultats").html(data); });
  • Je suis en train de faire quelque chose de similaire. Une question, où le code JavaScript être placé? Dois-je tout simplement en créer un .fichier js avec ma fonction ajax, le placer dans le dossier js et de créer la référence dans le fichier xml? Merci
InformationsquelleAutor Adam Moss | 2012-01-12