Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 在Cookie中保存数据以将行程保存到数据库_Jquery_Html_Database_Session Cookies - Fatal编程技术网

Jquery 在Cookie中保存数据以将行程保存到数据库

Jquery 在Cookie中保存数据以将行程保存到数据库,jquery,html,database,session-cookies,Jquery,Html,Database,Session Cookies,我有一个web页面,在加载页面后立即使用getJSON查询数据库,以便填充下拉框。 然后,当用户从这个初始框中选择一个选项时,进行第二个getJSON调用,用相关数据填充第二个下拉列表。 为了保存对数据库的调用(特别是当用户在第一个组合框中不断切换值时),我考虑在cookies中保存下拉菜单的数据/ 但我想做一些事情,饼干只适合当前会话。。。因为从技术上讲,数据库中的数据可能会发生变化。它不会经常改变。。。但它可以改变 我发现了以下帖子: 我正在考虑试一试。 我想实现的逻辑是这样的: a。在文

我有一个web页面,在加载页面后立即使用getJSON查询数据库,以便填充下拉框。 然后,当用户从这个初始框中选择一个选项时,进行第二个getJSON调用,用相关数据填充第二个下拉列表。 为了保存对数据库的调用(特别是当用户在第一个组合框中不断切换值时),我考虑在cookies中保存下拉菜单的数据/ 但我想做一些事情,饼干只适合当前会话。。。因为从技术上讲,数据库中的数据可能会发生变化。它不会经常改变。。。但它可以改变

我发现了以下帖子:

我正在考虑试一试。
我想实现的逻辑是这样的:

a。在文档就绪时,检查cookie是否存在。如果不是,则查询数据库并获取数据。创建cookie B会话终止时,终止Cookie

我的问题如下:

  • 这是正确的方法吗
  • 我如何修改上面stackoverflow帖子中的示例,使cookie只适用于当前会话 仅供参考。目标浏览器是IE9

    谢谢

    编辑1:

    我发现这篇文章是关于用jquery创建会话cookie的: 我试试看

    编辑2:


    我想我也会在这里查看sessionstorage

    绝对是一种有趣的方法

    使用plugin,如果您没有指定
    过期
    ,您的cookie将只停留在会话期间。因此,您可以简单地执行以下操作:

    $.cookie("basket-data", JSON.stringify($("#ArticlesHolder").data()));
    
    它将只停留在本次会议上


    仅用于记录会话存储肯定是比cookies更好的选择。

    鉴于您刚才提到从数据库中提取的选项可能会更改,您可能应该每次都进行实时呼叫。如果没有,你可能会有人一直打开他们的浏览器,永远不会得到更新的选项。你一天内更改下拉列表内容的可能性有多大?您可能会偶尔设置一次,仅此而已。如果用户在您更新选项卡时浏览您的站点,则可能会导致某些用户错过更改。这完全取决于更新的频率。这只是一个常识游戏。频繁更新?没有缓存。罕见的更新?快去缓存吧。更新根本不会经常发生。也许一个月一次,保存2-3天!或者永久存储它们并使用版本控制。跟踪最新更新日期并将其发送到浏览器。如果cookie存在并且cookie中的日期早于最新更新-废弃缓存并重新加载它。ZorleQ您介意在您的答案中发布一个示例吗?另外,您对使用sessionStorage有何想法?