Javascript 使用ajax和jquery单击嵌套无序列表上的子菜单后,站点上的数据未显示

Javascript 使用ajax和jquery单击嵌套无序列表上的子菜单后,站点上的数据未显示,javascript,jquery,html,ajax,java-ee-7,Javascript,Jquery,Html,Ajax,Java Ee 7,下面是html无序列表实现 <div id="dropdownmenu" style="position: fixed; margin: 0 auto; width: 100%; position: fixed; opacity: 1; text-align: center;"> <ul id='navbar' class="menu"> <li><a href="Home">Home</a>&l

下面是html无序列表实现

<div id="dropdownmenu" style="position: fixed; margin: 0 auto; width: 100%; position: fixed; opacity: 1; text-align: center;">
        <ul id='navbar' class="menu">
            <li><a href="Home">Home</a></li>
            <li class="active"><a href="#s2"><%= session.getAttribute("name") %></a>
            <ul id='profile' class="submenu">
            <li id='account'>Account</li>
            <li id='password'><a>Change Password</a></li>
            <li id='myitinerary'><a>My Itineraries</a></li>
            <li id='promotions'><a>Promotions</a></li>
            </ul>
            </li>
            <li><a href="/ExpressBus-war/Logout">Logout</a></li>
        </ul>
        </div>

这是我试图运行的脚本

<script>         
            $(function() {
                $("#dropdownmenu").click(function(event) {
                    if(event.target.id === 'myitinerary')
                    {
                        $.post({
                            type: 'POST',
                            data: {
                                username: <%= session.getAttribute("username") %>;
                            },
                            url: "GetItineraries",
                            success: function(result){
                                $('#content2').empty();
                                $("#content3").empty();
                                $("#content4").empty();
                                $('#content').html(result);
                            }
                        });
                    }
                });
            });
        </script>

$(函数(){
$(“#下拉菜单”)。单击(函数(事件){
如果(event.target.id==='MyCinerary')
{
美元邮政({
键入:“POST”,
数据:{
用户名:;
},
url:“获取行程”,
成功:功能(结果){
$('#content2').empty();
$(“#content3”).empty();
$(“#content4”).empty();
$('#content').html(结果);
}
});
}
});
});

我使用的是Netbeans EE,基本上我打算用从servlet获得的结果填充内容。但到目前为止,我所尝试的一切都没有成功。

我设法解决了这个问题,我需要修改脚本中的一些内容。后来它起作用了

$(function() {  
                $("#profile li").click(function(event) {
                    if(event.target.id === 'myitinerary')
                    {
                        $.post({
                            type: 'POST',
                            data: {username: '<%= session.getAttribute("name") %>' },
                            url: "GetItineraries",
                            success: function(result){
                                $('#content2').empty();
                                $("#content3").empty();
                                $("#content4").empty();
                                $('#content').html(result);
                            }
                        });
                    }
                });
            });
$(函数(){
$(“#profile li”)。单击(函数(事件){
如果(event.target.id==='MyCinerary')
{
美元邮政({
键入:“POST”,
数据:{用户名:'},
url:“获取行程”,
成功:功能(结果){
$('#content2').empty();
$(“#content3”).empty();
$(“#content4”).empty();
$('#content').html(结果);
}
});
}
});
});

控制台中有错误吗?如果是的话,那是什么?我得到的唯一错误是chrome中的意外令牌错误。除此之外,我还尝试在netbeans上调试。单击子菜单不会引发脚本中应有的事件。我不知道这是否能解决您的问题,但我确实看到一些可能导致错误的情况。在
$.post
调用中,您的
数据
参数可能格式错误。更改:
用户名:收件人:
用户名:“”(用引号括起来)@RicoKahler嗨,我试着实现你的解决方案。没有什么变化。仍然没有调用click事件。但奇怪的是,如果我将脚本中的id从#dropdownmenu更改为#profile li,事件就会被调用。但是它不适用于我尝试使用#profile li id的子菜单。也没有发生任何事情。您是否尝试将事件列表器直接添加到
myinventary
元素,即:
$(“#myinventary”)。单击(事件=>/*您的代码*/)