现在-6ren">
gpt4 book ai didi

javascript - PHP中的sessionStorage与JS之间如何连接

转载 作者:行者123 更新时间:2023-12-03 03:49:53 27 4
gpt4 key购买 nike

我正在尝试在加载 HTML 之前在我的 PHP(html)页面中传输数据,因此我将能够在页面加载到我的 JS 文件中后处理它。我的 php 看起来像这样:

<?php
/*some php code*/
$dataFromDataBase = "..";
session_start();
$_SESSION['data'] = $dataFromDataBase;

if(isset($_SESSION['data']))
echo $_SESSION['data'];
else
echo "<br>False";
?>
<html>
<!--My Html code..-->
</html>

现在存在“if”条件来检查 session 是否在 php.ini 中创建。现在它回显了数据,所以这意味着 session 存在。我的 JS 看起来像这样:

if(sessionStorage.getItem("data")){
//do some thing..
}else{
alert("the data isn't set.");
}

并且数据不存在...我已经尝试提醒数据,它向我发送“null”..他们让我直接输出到 JS 中,如下所示:

<script>
var fromserver="<?php
/*some code.. */
echo "**BIG DATA**";
?>";

但这只是不整洁的代码..而且数据非常大,所以我不能使用coockies

最佳答案

$_SESSIONsessionStorage完全不同。

sessionStorage保存数据如 $_SESSION除了在客户端设置 sessionStorage 变量之外。 $_SESSION就像 sessionStorage所以我看到你的误解,但是,这在服务器端设置数据并且不会跨越 sessionStorage .

如果你真的需要$_SESSION数据在 sessionStorage ,您可以回显设置 sessionStorage 的脚本给您$_SESSION数据。下面是一个非常简单的示例。

<?php session_start;

$_SESSION['data'] = "yourdata";

echo '<script> sessionStorage.setItem("data", "' . $_SESSION['data'] . '");</script>';

//Display 'data'.
echo '<script> alert(sessionStorage.getItem("data")); </script>';

编辑:为了使其更清楚,请注意 $_SESSION是在 PHP(服务器端)和 sessionStorage 中完成的必须在 JavaScript 中使用 <script> 设置标签。以下是您问题的解决方案。

<?php
/*some php code*/
$dataFromDataBase = "..";
session_start();
$_SESSION['data'] = $dataFromDataBase;

if(isset($_SESSION['data']))
{
echo '<script> sessionStorage.setItem("data", "' .$_SESSION['data'] .'");</script>';
}
else
{
echo "<br>False";
}
?>
<html>
<!--My Html code..-->
</html>

关于javascript - PHP中的sessionStorage与JS之间如何连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45211303/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com