我正在创建一个使用javascript生成内容的网站。 我有一个关于简单代码的问题。 有一个php文件rand.php:
<?php echo rand(1,5); ?>
和小的html / javascript代码
<a href="rand.php">rand.php</a>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
(function($) {
var obj = { 'title':'MyVal', 'value':0 };
document.write(obj.title+': '+obj.value);
//i don't want to get ajax-request if i go back of the history to here
//only if i click link to here a first time, and here
//i want to see a random number in [1,..,5] from a last visiting
$(document).ready(function() {
$.ajax({
type: 'POST',
url: 'rand.php',
async: false,
data: {},
success: function(nr) {
obj.value = nr;
}
});
});
})(jQuery);
</script>
问题是,如果我点击一个rand.php -link然后我回去,但是如何保留上次访问的obj-JSON值而不是获取新的ajax请求。谢谢!
答案 0 :(得分:1)
您可以使用localStorage在每个客户端的基础上保留持久值,而无需使用Cookie。这种方法优于cookie的优点是,使用cookie时,值会随着每个请求一起发送。您最终来回传递您可能不需要的数据,并且可能会在服务器端无意中修改或覆盖cookie。
要使用本地存储,您只需使用localStorage
和getItem
引用setItem
对象,分别获取和设置数据。如果您预计会支持较旧的客户,建议您使用垫片,或者您可以使用Cookie作为后备来自行填充垫片。
文档
答案 1 :(得分:0)
这在很大程度上取决于您需要支持哪些浏览器,但在最近的浏览器中,本地存储得到了很好的支持。文档: