0

我正在尝试为我的网站构建一个菜单并使用 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>
4

1 回答 1

0

嗨,我认为您不了解Smarty的工作原理,但我可以告诉您,您在 html 代码中没有任何模板,这对于此类编程非常重要。

您需要为菜单制作模板并将其命名为 menu.tpl -> 然后将其包含在 index.tpl ...

欲了解更多信息,请查看 www.smarty.net

于 2013-04-08T08:15:47.680 回答