jquery – 在Magento中使用基本的AJAX调用

前端之家收集整理的这篇文章主要介绍了jquery – 在Magento中使用基本的AJAX调用前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在编写一个模块来在Magento中执行一个简单的Ajax调用,但是我到目前为止还没有得到它的工作 – 我觉得我在某处失去了重要的组件。这些是我目前拥有的文件

Creare / Groupedajax /控制器/ 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>

我的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文件目前只有“测试”。我只需要我的结果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);
        }
    });

解决方法

如果您的javascript是从.phtml模板文件输出,那么您可以使用 a convenience function使URL完全合格,这将是最安全的方式继续。
$j.ajax({
    url: "<?PHP echo $this->getUrl('groupedajax/ajax/index') ?>",success: function(data) {
    $j('#results').html(data);
    }
});

猜你在找的jQuery相关文章