我相信我犯了一个可怕的错误。我有一个全局JS文件,我通过脚本标记包含在每个JSP页面上。
<script type="text/javascript" src="/myGlobalJS.js" ></script>
在那个JS文件中,我打电话来获取JSON;但我只希望执行一次。现在它每次加载新的JSP页面时都会执行。
var myObj = (function(){
var myData = {};
return{
setData:function(data){
myData = data.response;
}
};
})();
(function(){
$.getJSON(jsonUrl)
.done(function(data){
myObj.setData(data.response.data);
});
})();
如何优雅地纠正这个问题?
更新:我现在可以看到我的想法错误。我正在考虑将这些JSP页面作为一个应用程序,当应用程序加载时,它应该只执行一次获取此JSON文件。这些JSP页面中没有持久的UI状态。所以我认为我将不得不加载文件并在我需要的每个页面上调用它。这是真的?
答案 0 :(得分:0)
我在这里找到了答案:
HTML5支持sessionStorage,只要会话正在使用,它就会存储变量。唯一的缺点是它似乎并不完全支持在所有浏览器中存储对象。但它绝对是一个很好的解决方案。