后session.setAttribute仅更新我有调用GetTierNamesServlet Ajax请求:页面重载
$('#application').change(function() { $.ajax({ url : 'GetTierNamesServlet', data : { name : $('#application').find(":selected").text() }, type : 'get', cache : false, success : function(data) { }, error : function() { alert('error'); } }).done(function() { var test = '<c:out value="${tiers}" />'; alert(test) }) });
GetTierNamesServlet保存“层”的会话属性如下并转发回到同一页(索引。 HTML)。
HttpSession session = request.getSession(false); session.setAttribute("tiers", tiers); getServletContext().getRequestDispatcher("/index.jsp").forward(request, response);
当警报(试验)被调用时,它从上一次的AJAX请求被处理警报选定的层。 会话属性“分层”似乎总是滞后一个刷新。
我在这里做错了什么?我期望通过将警报置于ajax请求的.done部分内,它会在执行某些操作之前等待异步调用返回。