2016-06-12 101 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> 
相关问题