У меня есть некоторый код:сессии атрибут не установлен, пока не обновят 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. Когда я обновляю страницу и возвращаюсь к «Source Source» в моей веб-консоли, переменная устанавливается правильно. Я не совсем уверен, что происходит. Возможно ли, что моя функция пытается вызвать атрибут сеанса до его установки?
P.S. Я знаю, что скрипты - это не лучший способ сделать это, но так мы здесь делаем.
Так бы значение, присвоенное document.myXmlString быть методом session.getAttribute («directory»)? – jordaniac89
Я не уверен, что вы точно имеете в виду. Он должен быть в JSP, но это все равно не решит проблему, требующую перезагрузки страницы, чтобы получить новое значение атрибут. Чтобы изменить значение без перезагрузки, извлеките атрибут через ajax и присвойте ему значение. Короче говоря, цель 'document.myXmlString' заключается в том, чтобы сделать атрибут« глобальным », чтобы его можно было модифицировать везде.на вашей странице. – SJuan76
Не думаю, что мы думаем то же самое. Атрибут устанавливается на отдельной странице jsp и извлекается на моей главной странице. Я не думаю, что создание атрибута global на моей главной странице поможет мне. – jordaniac89