【发布时间】:2012-02-08 17:54:12
【问题描述】:
我正在编写一个模块来在 Magento 中执行一个简单的 Ajax 调用,但到目前为止我无法让它工作 - 我觉得我在某个地方缺少了一个重要的组件。这些是我目前拥有的文件:
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>
我的 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 来返回“测试”值。我只是想知道是否所有的位都准备好了?
这是我遵循的教程:http://www.atwix.com/magento/ajax-requests-in-magento/
========================= 已解决=================== =====
我只需要在我的网址开头添加一个正斜杠:
$j.ajax({
url: "/groupedajax/ajax/index",
type: "POST",
data: "size="+$j(this).val(),
success: function(data) {
$j('#results').html(data);
}
});
【问题讨论】:
-
将问题分解为更小的任务。如果您直接访问 URL“example.com/groupedajax/ajax/index”会发生什么?由于 jQuery 被赋予了相对路径,它是否访问了正确的 URL?使用 Firebug 进行检查。您是否有与
groupedajax/groupedajax类型匹配的块类,或者可以使用更简单的core/template来代替? -
当我到达 /groupedajax/ajax/index 时,我看到了“测试”,所以它工作正常。我已将类型更改为“核心/模板”,因为我没有匹配的 Block 类,这是我的疏忽。我会继续检查...也许 Jquery ajax 调用停止工作...
-
我已经弄明白了——我的 Jquery URL 脚本在开头需要一个正斜杠: $j.post("/groupedajax/ajax/index", { size: $j(this).val ()}, function(data) { $j('#results').html(data); });
-
@AdamMoss 我正在尝试做类似的事情。一个问题,JavaScript 代码应该放在哪里?我是否应该简单地使用我的 ajax 函数创建一个 .js 文件,将其放在 js 文件夹中并在 xml 中创建对它的引用?谢谢
标签: jquery ajax magento post php