javascript - 无法在 JavaScript 文件中获取用 PHP 制作的 cookie
问题描述
我试图获取用户在 php 文件的输入框中输入的用户名作为 cookie,然后在 JS 文件中读取该 cookie 并获取用户名。
PHP
<?php
...
print('<form method="POST" name="loginForm" action="myDomain.com">' . "\n");
print(' <div class="loginContainer">' . "\n");
print(' <label for="userNameBox"><b>Account Login: </b></label>'. "\n");
print(' <input type="text" class="userName"id="userNameBox" placeholder="Enter Username" required="required">'. "\n");
print(' <input type="button" class="loginButton" id="loginButton" value="Login"/>' . "\n");
print(' </div>'. "\n");
print('</form>' . "\n")
print(' <div id="toolbar">' . "\n");
...
setcookie ( "LOGIN_USERNAME_COOKIE",
$_POST['userNameBox'] ,
$expires = 0,
$path = "/" ,
$domain = 'myDomain.com' ,
$secure = false,
$httponly = false
);
...
?>
JavaScript(只是试图打印出 cookie)
confirm("Username entered: "+document.cookie.split('LOGIN_USERNAME_COOKIE=')[1]);
在确认 Java 警报中,我得到了这个:
Username entered: __utma=261946002.205893547.1618416838.1618416838.1618416838.1; __utmc=261946002; __utmz=261946002.1618416838.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); __utmt=1; __utmb=261946002.1.10.1618416838; _fbp=fb.1.1618416838418.1117675244
如何解决此问题以使 cookie 包含用户输入的文本并显示它?
解决方案
尝试这个:
let username = document.cookie
.split('; ')
.find(row => row.startsWith('LOGIN_USERNAME_COOKIE='))
.split('=')[1];
confirm("Username entered: "+username);
来源:MDN
推荐阅读
- google-cloud-platform - Google Cloud Run 随机峰值请求
- python - python usb键盘拔掉
- mongodb - 使用 mongoexport 导出数据库时必须在 MongoDB 中指定一个集合
- c# - 是否可以使用 C# 修改像参数一样传递给其他线程的对象?
- arrays - 快速有效地获取基于其“值”的字典“键”,它是 Swift 中的字符串数组
- amazon-web-services - 如何调试或修复连接拒绝尝试卷曲 EC2 实例端口?
- r - 优化 R 中散点图生成的代码
- woocommerce - 使用 REST API 更新与产品 SKU 相关的 Woocommerce 产品图像链接
- excel - Excel 帮助:搜索第二次/第三次迭代以查找匹配状态
- java - 摇动设备时计步器活动刷新?