後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部分內,它會在執行某些操作之前等待異步調用返回。