javascript - 如何设置 cookie 的多个值并将它们全部显示在另一个页面上?
问题描述
我的网站有一个产品数据库,每个产品都有一个唯一的零件编号。
我最近在我的网站上创建了一个 cookie,称为“零件号”,并具有从我的数据库分配给它的零件号的值。
这是我目前拥有的代码,并且正在生成一个 cookie,其值是分配给我所在的产品页面的任何部件号:
<script type="text/javascript">
<?php
// LOAD REQUIRED WP PLUGIN class
include_once( ABSPATH . 'wp-admin/includes/plugin.php' );
// DO PLUGIN ACTIVATION CHECK
if ( is_plugin_active('product-item-templates/product-item-templates.php') ) {
// Product Items Template is LOADED >>
?>
<?php
$item = $new_url->get_page_url_data();
$pn = $item['pn'];
$man = $item['man'];
$model = $item['model'];
?>
var pn = "<?php echo $pn;?>";
var model = "<?php echo $model;?>";
var man = "<?php echo $man;?>";
Cookies.set("partnumber", pn , { expires: 7 });
<?php
} // END PLUGIN ACTIVATED CHECK
?>
</script>
例如,如果用户访问零件编号为“ABC”的产品页面,则名称为“零件编号”的 cookie 将保存为“ABC”的值。
我想这样做的原因是能够使用名为“添加到报价”的按钮触发 cookie,然后将 cookie 的值调用到“我的报价”页面中的单独字段中。但是,每次我访问新的零件编号页面时,cookie 都会简单地将“零件编号”cookie 的值替换为新值。
我的问题:
是否可以保存同一个 cookie 的多个值?或者说最多 10 个相同 cookie 的值?
如果没有,任何人都可以提供另一种方法来保存此唯一信息并将其显示在另一个页面上,以便用户可以浏览我的产品,单击“添加到报价”按钮,然后转到“我的报价”页面查看他们已添加到报价中的零件编号列表。
注意:我知道如何为 cookie 设置一个值,但我想知道如何为同一个 cookie 设置多个不同的值 - 或者,如何告诉站点创建一个具有不同值的新 cookie(即现有并且来自我的产品数据库)每次我点击我网站上的按钮时。
提前致谢。
解决方案
您可以为存储的值存储一个值,partnumbers
并且可以从这些值中直接推导出来。我正在考虑一个 的键partnumbers
,它的值类似于"4,5,8"
,你有像partnumber4
和partnumber5
的键partnumber8
。因此,您partnumbers
首先从 cookie 中获取值,调用然后.split(",")
迭代生成的数组以分别获取partnumber4
和。如果您想存储一个新的零件编号,例如 11,只需将其设置为之前的值,将 11 添加到它(如果不为空,则在 11 之前加上一个逗号)和.partnumber5
partnumber8
partnumbers
partnumber11
推荐阅读
- csv - Nifi:检查 CSV 文件的行更新,然后摄取
- javascript - 从 OSM 服务器地图导出 SVG
- javascript - 如何将字符串附加到 Vue 模板中的常量?
- python - 解析Python目录中的所有XML文件
- c# - 如果 JobTimeStart 列距离 JobTimeFinish 列 1 小时,WPF 更改 DataGrid 行背景颜色
- c++ - 函数局部静态变量:从性能角度看的优缺点
- entity-framework - Code first 与约束的一对多关系
- azure-active-directory - 如何从 azure Active Directory 中的 userprincipalname 中检索用户 ID?
- python - bottle.py 用 file.save() 提高 ValueError('I/O operation on closed file',)
- python - 我从 github 克隆的包的子模块中出现未知位置错误