Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/474.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
什么时候应该使用PHP会话、浏览器本地存储和JavaScript对象参数?_Javascript_Php_Session_Jquery Mobile_Javascript Objects - Fatal编程技术网

什么时候应该使用PHP会话、浏览器本地存储和JavaScript对象参数?

什么时候应该使用PHP会话、浏览器本地存储和JavaScript对象参数?,javascript,php,session,jquery-mobile,javascript-objects,Javascript,Php,Session,Jquery Mobile,Javascript Objects,什么时候适合使用现代基于AJAX的应用程序存储数据的多种不同方式?我希望能给开发者一些具体的指导方针。这是我到目前为止看到的,而且越来越混乱 PHP服务器端会话:PHP会话数据可能是存储基于会话的信息的最古老的方法。我经常通过各种AJAX调用从JavaScript/jQuery对象传入参数,以存储在PHP会话中。我还将返回数据对象(一些会话信息),作为对JavaScript/jQuery方法的响应/结果 基于浏览器的本地存储:这通常用于存储需要保留在前端的数据,但我有时不确定何时使用它。一个很好

什么时候适合使用现代基于AJAX的应用程序存储数据的多种不同方式?我希望能给开发者一些具体的指导方针。这是我到目前为止看到的,而且越来越混乱

PHP服务器端会话:PHP会话数据可能是存储基于会话的信息的最古老的方法。我经常通过各种AJAX调用从JavaScript/jQuery对象传入参数,以存储在PHP会话中。我还将返回数据对象(一些会话信息),作为对JavaScript/jQuery方法的响应/结果

基于浏览器的本地存储:这通常用于存储需要保留在前端的数据,但我有时不确定何时使用它。一个很好的用途是存储navigator.geolocation中的地理位置信息。我在这里储存了很多信息,但我不确定这是否明智。它似乎永远不会过期,但可以从资源中删除

带有配置参数的JavaScript对象:我一直在使用设置“设置”参数的init方法构建JavaScipts对象。这是非常有用的,因为我通常从PHP传入的数据构建它。使用jquerymobile,这些数据甚至可以在页面之间持久化,并随着AJAX请求响应的变化而变化

那么,对于每种药物的使用,你会给出什么指导方针呢

PHP会话数据不是永久性数据存储,因为当您破坏浏览器会话时,将丢失数据。这是有用的,如果你没有 要永久存储数据

浏览器本地存储是永久性的,除非您自己删除数据或清除浏览器缓存。有些用户会不时清除缓存,因此这可能是一个问题

任何其他方法(如对象)都不是永久性数据存储

其他与浏览器相关的永久存储是COOKIES(如果您没有 在会话结束时使其过期),IndexedDb(查看此处以了解当前的浏览器支持)

因此,根据您的网站或应用程序,您需要决定需要哪些数据 存储时间很短,或很长或永远,直到您手动删除它

例如,如果您正在存储 书签,如果存储地理位置点,则使用cookie 并在关闭浏览器或应用程序后使其过期

如果您使用PHP登录到一个帐户,那么最佳实践是创建一个PHP 会话,甚至在用户单击时更改会话超时 (记住我)

这些只是数千种可能需求中的几个例子


如果您希望将其放在服务器上或与安全性有关,请使用会话。如果您希望它在客户端运行,并且在用户不再在线时保持不变,请使用基于浏览器的本地存储。第三个选项。这取决于配置参数的来源,因此与以前的方法相比,此方法在不同的级别上运行,不能在两者之间进行选择