1

我有一个名为“test.php”的文件,其中包含指向“test2.php”的链接:

<a href="test2.php" id="test">Test</a>

在我的 test2.php 中,我检查了 $_SESSION 变量:

<?php session_start();
var_dump($_SESSION);

当我单击“test.php”文件中的链接时,我想在 $_SESSION 变量中添加数据,所以这是我的 js:

$('#test').on('click', function(e) {
   $.post('test3.php', { myvar : 'myvalue' } );
});

在“test3.php”文件中,我有这段代码:

<?php session_start();
    $_SESSION['myvar'] = $_POST['myvar'];

我不明白为什么它不起作用......在“test2.php”文件中,$_SESSION['myvar'] 不存在。

谢谢你的帮助!

4

2 回答 2

1

请求test3.php将被取消,因为您没有阻止跟随链接到test2.php.

尝试以下操作;

$('#test').on('click', function(e) {
   $.post('test3.php', { myvar : 'myvalue' } );
   e.preventDefault();
});

然后,您可以重定向到test2.php请求完成的时间;

$('#test').on('click', function(e) {
   var that = this;

   $.post('test3.php', { myvar : 'myvalue' } ).done(function () {
       window.location.href = that.href;
   });

   e.preventDefault();
});
于 2013-10-25T13:54:58.960 回答
0

你必须改变一点你的代码

<a href="javascript:void(0)" id="test">Test</a> 

$('#test').on('click', function(e) {
   $.post('test3.php', { myvar : 'myvalue' } ,function(){
window.location.reload('test2.php');//opening page here

});
});

这应该工作

于 2013-10-25T13:56:15.370 回答