Php Smarty未显示模板

Php Smarty未显示模板,php,jquery,html,smarty,Php,Jquery,Html,Smarty,我正在尝试为我的网站建立一个菜单,并使用Smarty显示页面。当用户单击注销选项时,JQuery会向index.php脚本发送一个Ajax调用,该脚本包含Smarty显示页面的代码,但它不会显示该页面。在我添加菜单之前,它工作得很好。firebug中也没有错误。有人能给我指出正确的方向吗 下面是PHP代码 if (isset($_POST['menu_index'])) { if ($_POST['menu_index'] == 'Logout')

我正在尝试为我的网站建立一个菜单,并使用Smarty显示页面。当用户单击注销选项时,JQuery会向index.php脚本发送一个Ajax调用,该脚本包含Smarty显示页面的代码,但它不会显示该页面。在我添加菜单之前,它工作得很好。firebug中也没有错误。有人能给我指出正确的方向吗

下面是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>

  • 维护
  • 处理顺序
  • 报告

您好,我想您不明白Smarty是如何工作的,但我可以告诉您,您没有html代码中的任何模板,这对此类编程非常重要

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


有关更多信息,请查看www.smarty.net

AJAX请求的
数据类型是
json
。除非您将
success
中的
alert
替换为登录页面的重定向代码,否则它将永远不会显示页面。感谢您的回复。我不熟悉这种编程。如何从PHP发送成功响应并在JQuery中重定向它