javascript - 如何使用 JavaScript (AJAX/jQuery) 判断 PHP $_SESSION cookie 是否存在?
问题描述
我正在我的PHP/MySQL
服务器上工作(网站实际上只是一个 PHP 服务器),我想从PHP
回显切换到JavaScript
写东西。我想要这个是因为以下原因。
1:JavaScript 在我的页面上更容易,并且
2:因为某种原因 PHP 回显会破坏我的导航栏,但 JavaScript 不会。我可以做这样的事情,但调整它以判断它是否存在?
这是我的代码:
<script>
document.cookie = "username='<?php echo $_SESSION['username'] ?>';";
var u = document.cookie;
document.getElementById("username").innerHTML = u();
</script>
解决方案
出于某种原因,PHP 回显会破坏我的导航栏,但 JavaScript 不会
如果我们有足够数量的代码和运行时的 HTML 源示例,这听起来像是一个我们可能会解决的问题。
无论如何 - 这可能比回显变量简单得多 - 您可以在 PHP 中设置一个 cookie 并在 JavaScript 中检索它,而无需内联 PHP 标记。一些示例代码:
PHP(了解setcookie):
setcookie("username", $_SESSION['username']);
JavaScript(来自this SO answer的函数):
function getCookieValue(a) {
var b = document.cookie.match('(^|;)\\s*' + a + '\\s*=\\s*([^;]+)');
return b ? b.pop() : '';
}
var u = getCookieValue("username");
推荐阅读
- python - 实参的复函数
- linux - 如何在构建 Xenomai 时修复错误“'recipe for target'doc/automake-1.14.1' failed”
- bash - 如何将多个变量连接到命令并执行它?
- excel - VBA:如何在单元格中插入 VLookup 公式(而不是值)?
- maven - Jenkins maven 发布到 lib-snapshot 存储库
- javascript - 通过 POST 进行身份验证后,我需要使用 Ajax 进行 GET
- html - 单页上的多个轮播不起作用 bootstrap4
- python - Python运行函数,等待,终止函数,运行下一个函数
- c# - 当可以通过在具有相同签名的子类中实现父类函数来完成时,为什么要使用 virtual 和 override?
- makefile - 如何在我的 makefile 上运行 eval 函数