Smarty不显示模板

问题描述:

我想为我的网站建立一个菜单并使用Smarty来显示页面。当用户点击Logout选项时,JQuery会向index.php脚本发送一个Ajax调用,该脚本包含Smarty的显示页面的代码,但不会显示它。在我添加菜单之前它工作正常。萤火虫也没有错误。有人能让我走向正确的方向吗?Smarty不显示模板

这里是PHP代码

if (isset($_POST['menu_index'])) 
    { 
     if ($_POST['menu_index'] == 'Logout') 
     { 
      $smarty->display("login.tpl"); 
      exit;    
     } 
    } 

这里是jQuery代码

 $('ul li a').on('click', function() { 
      var menuItemIndex = $(this).data('val'); 
      console.log(menuItemIndex); 
      $.ajax({ 
       url: 'index.php', 
       type: 'POST', 
       data: { 
       'menu_index': menuItemIndex 
       }, 
       dataType: 'json', 
       success: function(response) { 
        alert('success'); 
       }, 
       error: function(errorMsg) { 
        alert('failed'); 
       } 
       }); 
      }); 

这里是HTML代码

<form name="mainmenu" id="mainmenu"> 
    <div id='content'> 
     <div id='jqxMenu'> 
      <ul> 
       <li>Maintanence 
        <ul style='width: 180px;'> 
         <li><a href="#" data-val="addCategory">Add Category</a></li> 
         <li><a href="#" data-val="addSubCategory">Add Sub-category</a></li> 
        </ul> 
       </li> 
       <li>Process Order 
        <ul style='width: 180px;'> 
         <li><a href="#" data-val="addShipOrder">Ship Order</a></li> 
         <li><a href="#" data-val="addChangeOrder">Change Order Status</a></li> 
        </ul> 
       </li> 
       <li>Reports 
        <ul style='width: 180x;'> 
         <li><a href="#" data-val="addOrderStation">Orders by station</a></li> 
         <li><a href="#" data-val="addOrderDate">Orders by date</a></li> 
         <li><a href="#" data-val="addPendingOrder">Pending Orders</a></li> 
        </ul> 
       </li> 
       <li><a href="#" data-val="Logout">Logout</a></li> 
      </ul> 
     </div> 
    </div> 
</form> 
+0

的'的dataType AJAX请求的''json'。它不会显示一个页面,除非你用重定向代码将'success'中的'alert'替换为你的登录页面。 – Ejaz 2013-04-07 16:24:12

+0

感谢您的回复Ejay。我是这种编程的新手。我该如何发送PHP的成功响应并将其重定向到JQuery中 – Aamer 2013-04-07 16:30:17

您好我想你不知道如何Smarty的作品,但我可以告诉你,你在html代码中没有任何模板这对于这种编程来说是非常重要的

你需要作出模板菜单,并调用它menu.tpl - >然后包括它在index.tpl ...

欲了解更多信息看一看www.smarty.net