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>
的'的dataType AJAX請求的''json'。它不會顯示一個頁面,除非你用重定向代碼將'success'中的'alert'替換爲你的登錄頁面。 – Ejaz 2013-04-07 16:24:12
感謝您的回覆Ejay。我是這種編程的新手。我該如何發送PHP的成功響應並將其重定向到JQuery中 – Aamer 2013-04-07 16:30:17