0

Web サイトのメニューを作成しようとしていて、Smarty を使用してページを表示しています。ユーザーが Logout オプションをクリックすると、JQuery は、Smarty がページを表示するためのコードを含む index.php スクリプトに Ajax 呼び出しを送信しますが、ページは表示されません。メニューを追加する前は問題なく動作していました。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>
4

1 に答える 1

0

こんにちは、あなたはSmartyの仕組みを理解していないと思いますが、この種のプログラミングにとって非常に重要なHTML コードのテンプレートを持っていないと言えます。

メニューのテンプレートを作成し、それを menu.tpl と呼ぶ必要があります -> それを index.tpl に含めます ...

詳細については、www.smarty.net をご覧ください。

于 2013-04-08T08:15:47.680 に答える