2013-04-07 96 views
0

我想爲我的網站建立一個菜單並使用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

回答

0

您好我想你不知道如何Smarty的作品,但我可以告訴你,你在html代碼中沒有任何模板這對於這種編程來說是非常重要的

你需要作出模板菜單,並調用它menu.tpl - >然後包括它在index.tpl ...

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