我正在編寫一個模塊在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>
我的阿賈克斯電話:
$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'類型匹配還是可以使用更簡單的'核心/模板'來代替? – clockworkgeek 2012-01-12 12:45:17
當我到/ groupedajax/ajax/index時,我看到'test',這樣就可以工作。我已經將類型更改爲「核心/模板」,因爲我沒有一個匹配的Block類,這是我的疏忽。我會繼續檢查......也許jquery ajax調用停止工作... – 2012-01-12 13:05:59
我已經想通了 - 我的jquery網址腳本需要在開頭處使用正斜槓: $ j.post(「/ groupedajax/ajax/('#results')。html(data); }); {size:$ j(this).val()},function(data) – 2012-01-12 13:14:12