将JavaScript传递给Session变量

时间:2018-09-17 08:29:19

标签: javascript php jquery ajax

我正在尝试将变量传递给php会话变量,因此以后可以从其他函数访问它。我不确定,我可能有完全的方法。我想做的是将我的物品存放在某个地方,以便我可以在会话中的任何时间,任何地方访问它。 这就是我现在拥有的:

$(".small-item-card .bookmark").click(function(e){
        e.preventDefault();
        let el_id = $(this).attr("element-id");

        $.ajax({
            type: 'post',
            url: '/session.php',
            data: {el_id: el_id},
            success:function(data) {
                console.log(data);
            }
        });

PHP-session.php

<?
session_start();

$element_id = (isset($_POST['el_id']) ? $_POST['el_id'] : "empty");

$_SESSION['element_ids'] = $element_id;

echo $_SESSION['element_ids'];

?>

当我打开session.php页面时,它会显示“空”。我在做什么错了?

1 个答案:

答案 0 :(得分:2)

这是因为当您打开session.php时,(isset($_POST['el_id']) ? $_POST['el_id'] : "empty");会运行,并将$_SESSION['element_ids']更改为

您的代码正在正常工作。尝试将$_SESSION['element_ids']回显到主页上,您将看到它包含正确的值。尝试使用类似方法进行快速调试,然后将其放在主页顶部。 并且不要打开session.php

<?php
    session_start();
    echo (isset($_SESSION['element_ids'])) ? $_SESSION['element_ids'] : 'not yet set';
?>