[英]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.