gpt4 book ai didi

php - 将 PHP session 数组值导入 Javascript

转载 作者:行者123 更新时间:2023-11-30 18:38:11 26 4
gpt4 key购买 nike

我在 PHP session 中存储了数组值。

现在我想检索这个数组并将其转换为 javascript 数组。

这是我设置 PHP session 的方式:

var listone = ["one", "two", "three"];

function setSession(listone){
$.get(
"setSession.php",
{listone:listone}
);
}

因此,如果一旦设置了这些值并刷新页面,我就会检查 session 是否已设置。如果设置,我想做这样的事情:

<?php
session_start();
if(isset($_SESSION['listone']))
{
?>
listone = Array('<?php echo json_encode($_SESSION['listone']) ?>');
<?php
}
?>

当我这样做时,'listone' 数组显示如下:

listone[0] = [
listone[1] = "
listone[2] = o
listone[3] = n
listone[4] = e
listone[5] = "
.... etc

我知道我做错了什么。这是我在 PHP session 中存储数组的方式吗?或者这是我将它检索回 JS 的方式吗?

感谢您的指点。如果指导得当,我愿意挖掘更多 :)

最佳答案

您可能正在尝试在这里做两件事之一 - 与 AJAX 相关的事情,它期待 JS 响应,或者您正在尝试直接在 JS 中访问 session 变量。

如果你只是想将一个 PHP 变量转换为一个 JS 可读数组,你可以这样做:

json_encode($_SESSION['myarray']);

这需要是一个可读的响应,并可由 JS 脚本在别处解释(例如,AJAX 响应)。

PHP session 变量不能通过 JS 直接访问,但是,您可以在 PHP 中构建 JS,将两者包装在一起,这样您就可以使用 PHP 输出 JS,其中填充了 PHP session 变量中保存的数据。这里的关键是代码的顺序,以及你的 JS 的结构——即你可能想要引用一个全局 JS 变量,以便其他 JS 可以访问这些值——或者调用一个函数等...

所以,你可以:

session_start();
if(!isset($_SESSION['myarray'])){
$_SESSION['myarray']=array('one', 'two', 'three');
}

echo "<script type='text/javascript'>

var myJSvariable = new Array();";

foreach($_SESSION['myarray'] as $key=>$value){
echo "myJSvariable[".$key."]=".$value.";";
}

echo "</script>";

关于php - 将 PHP session 数组值导入 Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7645225/

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