[英]session attribute not being set until I refresh thepage
我有一些代碼:
$(document).ready(function(){
$(":button").click(function(){
var formData = {"field1":field1, "oper1":oper1, "value1":value1, "field2":field2, "oper2":oper2, "value2":value2, "field3":field3, "oper3":oper3, "value3":value3};
$.post("<%=request.getRequestURL().toString()%>getInfo.jsp", formData, function(response){alertHere(response)});
})
})
function alertHere(response){
alert("Post successful");
alert(response);
renderResults();
}
發布表單數據並查詢數據,並設置會話屬性
session.setAttribute("directoryString", xml);
單擊按鈕時。 在響應函數中,調用renderResults,它獲取返回的xml:
function renderResults(){
alert("inside renderResults()");
element = document.getElementById("person");
xmlString = '<%=session.getAttribute("directoryString")%>';
console.log('XML String: ' + xmlString);
該函數的其余部分用於解析xml並將其顯示在頁面上。
我的問題是,當我第一次轉到頁面並發布數據時,xmlString變量為null。 當我刷新頁面並返回到Web控制台中的“頁面源”時,變量設置正確。 我不確定到底發生了什么。 我的函數是否有可能在設置屬性之前嘗試調用session屬性?
附言:我知道,小蜘蛛並不是做到這一點的最佳方法,但這就是我們在此處所做的方法。
<%=session.getAttribute("directoryString")%>
僅在將JSP呈現到HTML頁面中時進行評估。 呈現的HTML在瀏覽器中后,只能通過以下方式之一進行更改:
進行ajax調用以獲取屬性的更新值並更新變量(例如,您可以設置document.myXmlString = ''
並在renderResults
使用該值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.