2013-07-02 16 views
1

我正在构建一个网站并与后端web服务通信,到目前为止我还没有使用任何数据库连接,所以它是纯html,Javascript和Css。当打开一个新页面时传递大的JSONObject

现在,我从Web服务api中检索了一个大的JSONObject,并且在打开一个新页面(如调用window.location(newpage))时需要传递此JSONObject。通常将数据保存在Cookie中是我的选择,但只是意识到Cookie有大小限制。

我网络更环保,并且怀疑是否有很好的建议我应该如何解决这个问题?我应该建立一个数据库来存储数据吗?

顺便说一下,我的网站是在Tomcat下。

更新 本网站使用HTML4而非HTML5构建。

+0

你使用jQuery或其他JavaScript库吗? – DevlshOne

+0

嗨,DevlshOne,是的,我正在使用jQuery。这有帮助吗? –

+0

是的,它的确如此。我会在答案框中为你写一些东西。 – DevlshOne

回答

1

你可能要考虑使用jQuery的data方法。举例来说,如果jData是以前提取的JSON数据,你可以这样做:

在原有页面

$(function() { 
// your routine to retrieve the jSON data 
$('#temp').data('myJSON', jData); 
// ... 
window.location(newpage); 
} 

* 在新页面中 *

$(function() { 
jData = $('#temp').data('myJSON'); 
// process the JSON data 
} 

jQuery将数据存储在内存中,因此您无需担心cookie长度限制或创建一个内联或外部数据库。

+0

嗨,DevlshOne,这是一个解决方案,但这实际上是保存数据在一个HTML元素,对吧?我认为用户可以从浏览器检查器看到这些数据。 –

+0

http://api.jquery.com/data/ 这不会在DOM内放置任何文本或值,它只会将数据附加到“内部存储器”级别的元素或对象。 – DevlshOne

相关问题