javascript - PHP AJAX session 变量不起作用

标签 javascript php jquery ajax session

我刚开始使用 session 变量,尽管在网上搜索以了解情况,但我一直在努力。

所以基本上我有一个页面(search.php)。我根据搜索表单加载动态数据表。加载表格后,我通过 AJAX 执行以下操作:

$.ajax({
    type:'POST',
    url:'/ITSMIS/data/asset/search.php',
    data:HardwareAsset,
    dataType: 'html',
    // When PHP / SQL Query Has Been Executed If Data Is Returned
    success:function(data){
        // Load The Data Table Results
        LoadDataTable(data);
        // Generate Hyperlinks For The Table Rows

        $('#data-table tr').click(function(){       
            var HyperlinkHardwareAssetID = $(this).data('id');
            $.ajax({
                type:'POST',
                url:'/ITSMIS/session.php',
                data: HyperlinkHardwareAssetID,
                success: function(data){
                    alert("great!");
                }
            });
            window.location = $(this).data('href');
        }); 

    }
})

正如您在 Success 和单击表行记录上看到的那样,我的想法是我通过 AJAX 发布一个变量以供稍后使用。并将用户重定向到 update.php 页面。

我希望使用 POSTED AJAX 变量在 session.php 页面中创建一个 session 变量。

session_start();
$_SESSION["HardwareAssetID"] = $_POST["HyperlinkHardwareAssetID"];

然后,当 update.php 页面加载时,我期望在页面上显示 session 变量结果。

        $session = $_SERVER['DOCUMENT_ROOT'];
        $session .= "/ITSMIS/session.php";
        include_once($session);

        echo $_SESSION["HardwareAssetID"];

但我只收到以下错误:

注意:未定义索引:第 3 行 C:\xampp\htdocs\ITSMIS\session.php 中的 HyperlinkHardwareAssetID

暗示由于某种原因,单击表行时的 AJAX POST 不起作用。但是,成功的警报始终会被触发。

有什么想法吗???

最佳答案

要将变量发送到您的 php,您必须在 $.ajax 函数的 data 属性中发送一个对象,例如:

$.ajax({
    data: {
        'var_name': 'value'
    }
});

并且在 PHP 文件中:

$item = $_POST['var_name'];

因此,在您的代码中,您应该这样使用 $.ajax 函数:

$.ajax({
   type:'POST',
   url:'/ITSMIS/session.php',
   data: {
       'HyperlinkHardwareAssetID': HyperlinkHardwareAssetID
   },
   success: function(data){
       alert("great!");
   }
});

有关详细信息,请参阅 jQuery.ajax() Documentation

关于javascript - PHP AJAX session 变量不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43576151/

相关文章:

jquery - 单击按钮时如何让按钮提供两种不同的功能? -jQuery/CSS

javascript - 如何让这个功能在表单提交时进行

javascript - 使用 jQuery/JavaScript 复制到剪贴板文本框值

javascript - 使这个 Javascript 倒数计时器响应

javascript - 如何提供一个日期选择器,其中包含选择日、月和年的选项

php - MySQL PHP 按日期对结果进行分组并回显它们

php - 使用 password_verify() 验证 MD5 密码

javascript - 使用隐藏 div 的 jquery 查找最近的视频标签 id

javascript - 如何通过 Internet Explorer 访问网络摄像头(11)?

javascript - 匹配变量项方程