所以我有一个 .js 文件,两个不同的 jsp 页面调用。
.js
文件包含:
var savedObj;
function A(obj){ savedObj = obj);
function B(){ alert(savedObj);
X.jsp
文件调用函数 A,以便 DOM 元素 onchange = functionA(this);
Y.jsp
文件调用函数 B,使得 body onload = function B
出于某种原因,我在函数 A 中的调试显示 savedObj = obj
的赋值工作正常,但在 function B
中,savedObj
打印出空值。
谢谢大家
最佳答案
发生这种情况是因为您的函数 B 在 JSP 主体加载完成时被调用。这将在特定 DOM 元素上的任何更改事件之前发生。
如果您需要函数 B 来更新 savedObj,则需要等到 DOM 元素上触发更改事件后才能调用它。
注意:这假设您的 JSP 包含在同一个呈现的页面中,如果不是,则发生这种情况是因为 JavaScript 状态未在页面之间持久保存
关于javascript - 在 JavaScript 中保存数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11057542/