为了账号安全,请及时绑定邮箱和手机立即绑定

Vanilla Javascript 使用关联键而不是值删除 $_SESSION 值

Vanilla Javascript 使用关联键而不是值删除 $_SESSION 值

PHP
梦里花落0921 2022-12-23 15:11:31
如果我能够在 JS 中使用 sessionStorage 访问会话数据,无论它是如何创建的,通过 php 或 AJAX,那么为什么我不能使用 JS 删除 sessionData?sessionStorage(顾名思义)仅在浏览器会话期间可用(并在选项卡或窗口关闭时被删除)——然而,它在页面重新加载后仍然存在(来源 DOM 存储指南 - Mozilla 开发者网络)此外,如果有人可以建议使用 AJAX 执行此操作的方法,我将不胜感激!我正在构建一个用户生成的表单生成器并将值保存在$_SESSIONSphp 页面上。我正在使用随机字母数字生成器来创建两个标识标签属性,如果用户需要,它们将用于删除创建的输入。删除是使用 vanilla JS 完成的,需要在页面加载之前发生。好的,为了在每次解析表单并将数据构建到输入标记中时保存表单数据的多次提交,我正在使用 SESSIONS。我在$_SESSIONS数组内设置使用关联数组$_SESSION['form'],然后构建输出。我的问题是我在 Javascript 中的删除功能适用于 DOM,但是我想使用 JS 删除按钮来重置$_SESSION['form']['content']['randomly-generated-alphanumeric-number']用户创建的输入的唯一性。最终我将通过适当的 html 实体运行这一切以删除标签并适当地添加它们,现在我只是通过代码的应用程序测试功能。请记住,随机字符是动态生成的,并通过 php 插入到 HTML 和 SESSIONS 中。这里是vardump($_SESSION['form']['content'])array {  ["m2HRvKPdDL"]=>  string(313) "    <div id="m2HRvKPdDL" class="input-type">        <label>First Name: </label>        &lt;input type="text" id="fname" class="input-type" name="first_name"&gt;<input type="button" alt="m2HRvKPdDL" id="deleteInput" class="deletInput" value="Delete this field"> <span id="deleteMSG"></span>    </div>    "}这是创建它$_SESSION并生成输入标记的 PHP 函数: 我在函数中定义一个数组,该数组最终将保存数据以显示为value和随机生成的字符 - > $ran。keyfunction constInputTag($ran){    $inputTitle = $_POST['inputTitle'];    $attrTypeSubmit = $_POST['attrTypeSubmit'];              $output = [];    $output[1] = $ran;        $output[0] = '    <div id="'.$output[1].'" class="input-type">        <label>'.$inputTitle.'</label>        &lt;input type="'.$_POST['inputType'].'"'; Javascript: 检查删除按钮是否被点击的前端代码,创建是/否按钮,向这些按钮添加属性并显示它们,定位并设置将用作父 div、按钮和会话标识符的随机字符,删除包含动态创建元素的父 div
查看完整描述

1 回答

?
繁花如伊

TA贡献2012条经验 获得超12个赞

我使用 AJAX 调用来解决这个问题。



查看完整回答
反对 回复 2022-12-23
  • 1 回答
  • 0 关注
  • 78 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号