When should I use PHP Session vs Browser Local Storage vs JavaScript Object Parameters?(何时应该使用PHP会话、浏览器本地存储和JavaScript对象参数?)
问题描述
什么时候适合使用现代基于Ajax的应用程序存储数据的多种不同方式?我希望能给开发人员一些具体的指导。这是我到目前为止看到的情况,而且越来越乱。PHP服务器端会话:PHP会话数据可能是存储基于会话的信息的最古老方式。我经常从JavaScript/jQuery对象通过各种Ajax调用传递参数-以存储在PHP会话中。我还将数据对象(一些会话信息)作为响应/结果返回给JavaScript/jQuery方法。
基于浏览器的本地存储:这通常用于存储需要保存在前端的数据,但有时我不确定何时使用它。一个很好的用途是存储Navigator.geolocation中的地理位置信息。我在这里储存了很多信息,但我不确定这是不是明智之举。它似乎永远不会过期,但可以从资源中删除。
带有配置参数的JavaScript对象:我一直在使用设置‘settings’参数的init方法构建JavaScipts对象。这非常有用,因为我通常使用从PHP传入的数据构建它。使用jQuery Mobile,这些数据甚至可以从一个页面持久化到另一个页面,并随着Ajax请求响应而改变。
那么,您对每种方法的使用有什么指导原则?
推荐答案
PHP会话数据不是永久性数据存储,因为当您销毁浏览器会话时,您将丢失数据。如果您不执行此操作,这将非常有用 希望永久存储数据。
浏览器本地存储是永久性的,除非您自己删除数据或清除浏览器缓存。某些用户会不时清除缓存,因此这可能会成为问题。
任何其他方法(如对象)都不是永久性数据存储。
其他与浏览器相关的永久存储是Cookie(如果您不 在会话关闭时过期),索引数据库(检查此处了解当前浏览器支持http://caniuse.com/#feat=indexeddb)。
因此,根据您的网站或应用程序,您需要决定需要哪些数据 存储短时间、长时间或永久,直到您手动将其删除。 举个例子,如果您要存储以下内容,您将使用LocalStorage 书签,如果您存储的是地理位置点,则使用Cookie 并在关闭浏览器或应用程序后使其过期。 如果您使用PHP登录帐户,则最佳做法是创建PHP 会话,甚至在用户单击时更改会话超时 (记住我)。这些只是数千种可能需求中的几个示例。
这篇关于何时应该使用PHP会话、浏览器本地存储和JavaScript对象参数?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:何时应该使用PHP会话、浏览器本地存储和JavaScript对象参数?
基础教程推荐
- 在 Woocommerce 中根据运输方式和付款方式添加费用 2021-01-01
- mysqli_insert_id 是否有可能在高流量应用程序中返回 2021-01-01
- 如何在 PHP 中的请求之间持久化对象 2022-01-01
- 超薄框架REST服务两次获得输出 2022-01-01
- WooCommerce 中选定产品类别的自定义产品价格后缀 2021-01-01
- 通过 PHP SoapClient 请求发送原始 XML 2021-01-01
- 在 PHP 中强制下载文件 - 在 Joomla 框架内 2022-01-01
- 在多维数组中查找最大值 2021-01-01
- XAMPP 服务器不加载 CSS 文件 2022-01-01
- Libpuzzle 索引数百万张图片? 2022-01-01