it-source

마젠토 내에서 기본 AJAX 호출 사용

criticalcode 2023. 9. 8. 21:35
반응형

마젠토 내에서 기본 AJAX 호출 사용

마젠토에서 간단한 Ajax 통화를 수행하기 위한 모듈을 작성하고 있는데 지금까지 작동이 안되고 있습니다. 중요한 구성 요소가 어딘가에 없는 것 같습니다.현재 가지고 있는 파일은 다음과 같습니다.

Creare/Groupedajax/Controller/Ajax Controller.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>

나의 Ajax 상담:

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

layout/groupedjax.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'만 들어가 있습니다.'test' 값을 반환하려면 결과 div만 있으면 됩니다.이것이 작동할 수 있는 모든 비트가 있는지 알고 싶습니다.

이것이 제가 따라온 튜토리얼입니다. 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);
        }
    });

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);
    }
});

언급URL : https://stackoverflow.com/questions/8835146/using-basic-ajax-calls-within-magento

반응형