Подтвердить что ты не робот

Использование основных вызовов AJAX в Magento

Я пишу модуль для выполнения простого вызова Ajax в Magento, но я не могу заставить его работать до сих пор - я чувствую, что где-то отсутствует какой-то жизненно важный компонент. Это файлы, которые у меня есть:

Creare/Groupedajax/контроллеры/AjaxController.php:

class Creare_Groupedajax_AjaxController extends Mage_Core_Controller_Front_Action {

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

Creare/Groupedajax/и т.д. /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>

Мой вызов Ajax:

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

макет /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>

В моем файле .phtml просто есть "test". Мне просто нужны мои результаты div, чтобы вернуть значение "test". Я просто хочу знать, работают ли все биты для этого?

Это учебное пособие, которое я выполнил: http://www.atwix.com/magento/ajax-requests-in-magento/

====================== РЕШЕНИЕ ======================================================================= =====

Мне просто нужна косая черта в начале моего URL:

$j.ajax({
        url: "/groupedajax/ajax/index",
        type: "POST",
        data: "size="+$j(this).val(),
        success: function(data) {
        $j('#results').html(data);
        }
    });
4b9b3361

Ответ 1

Если ваш javascript выводится из файла шаблона .phtml, вы можете использовать функцию удобства, чтобы сделать URL-адрес полностью определенным, что будет то это самый безопасный способ.

$j.ajax({
    url: "<?php echo $this->getUrl('groupedajax/ajax/index') ?>",
    type: "POST",
    data: "size="+$j(this).val(),
    success: function(data) {
    $j('#results').html(data);
    }
});