1

「test2.php」へのリンクを含む「test.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 に答える