2016-06-12 98 views
3

我有一個創建前端頁面的模塊,顯示特定抽獎的獲勝者,我想在年份(獲獎年份)中添加一個過濾器通過AJAX請求和改變我的div如何在prestashop前端自定義模塊中調用ajax

在我display.tpl前端的我添加下面的JavaScript

<script type="text/javascript"> 
{literal} 
function QuickLook() { 
    var year = $("#year").val(); 
    alert(year); 
    $.ajax({ 
      url: baseDir+'/modules/addwinners/controllers/front/displaybyajax.php', 
      type: 'get', 
      data: 'ajax=true&year='+year, 
      success: function(response) { 
       alert(response); 
       console.log('success'); 
       // OTHER SUCCESS COMMAND - CHECK THE RETURN VALUE 
       document.getElementById("winnersDiv").innerHTML=response; 
      } 
    }); 
    return false; 
} 

{/literal} 

但其抱怨致命錯誤:類 'ModuleFrontController' 未找到

回答

1

通過以這種方式訪問​​您的控制器,調用程序未被調用並且Prestashop核心類未加載,您無法直接使用其完整路徑訪問您的模塊控制器:/modules/addwinners/controllers/front/displaybyajax.php

你需要打電話給控制器的Prestashop方式:

<script type="text/javascript"> 
{literal} 
    function QuickLook() { 
     var year = $("#year").val(); 
     alert(year); 
     $.ajax({ 
      url: baseDir + 'index.php?controller=displaybyajax&redirect=module&module=addwinners', 
      type: 'get', 
      data: 'ajax=true&year='+year, 
      success: function(response) { 
       alert(response); 
       console.log('success'); 
       // OTHER SUCCESS COMMAND - CHECK THE RETURN VALUE 
       document.getElementById("winnersDiv").innerHTML=response; 
      } 
     }); 
     return false; 
    } 
{/literal} 
</script> 
相關問題