我正在尝试为我的网站构建菜单并使用Smarty来显示页面。当用户单击Logout选项时,JQuery会向index.php脚本发送一个Ajax调用,该脚本包含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 :(得分:0)
您好我觉得您不明白 Smarty 是如何运作的,但我可以告诉您,html代码中没有任何非常重要的模板这种编程。
您需要为菜单制作模板并将其命名为menu.tpl - &gt;然后将它包含在index.tpl ...
有关更多信息,请访问www.smarty.net