0

我的a.php文件中的代码:

<?php include ('b.php'); ?>
<script type="text/javascript">
function nf(info){
    $.ajax({            
        type:'POST',
        url:'a.php',
        data:'getinfo=' + info         
    }); 
}
}
</script>
<?php
$info = $_POST['getinfo'];

if($info=="1"){
    $_SESSION['ses1']=1;
}else{
    $_SESSION['ses1']=2;
}
?>
<a onclick="nf(1)">Option1</a> || <a onclick="nf(2)">Option2</a> 

当更改对文件$_SESSION['ses1']进行一些更改时b.php。但我无法检索数据?

4

2 回答 2

3

首先

function nf(info){
    $.ajax({            
        type:'POST',
        url:'a.php',
        data:'getinfo=' + info         
    }); 
}
} // ?

你有一个支架}太多了。

设置数据

设置数据的正确方法是使用这样的 json 字符串:

function nf(info){
    $.ajax({            
        type:'POST',
        url:'a.php',
        data:{getinfo:info}        
    }); 
}

检索数据

function nf(info){
    $.ajax({            
        type:'POST',
        url:'a.php',
        data:{getinfo:info}        
    }).done(function(data){
        data = $.parseJSON(data);
        //data is now an array with all the data you echod in the a.php which is json encoded
    }); 
}

请看一下:

于 2012-10-04T07:50:56.347 回答
1

也许你完全错了:

  • 开始会话session_start()
  • 纠正你的功能,它有一个}额外的;
  • 将您的帖子上移以访问相同的文件。
  • 我不知道b.php包括什么,但你也需要 jQuery 库
<?php
    session_start();
    if(isset($_POST['getinfo'])){
        $info = $_POST['getinfo'];
        if($info == 1){
            $_SESSION['ses1'] = 1;
        } else {
            $_SESSION['ses1'] = 2;
        }
        die;
    }
?>
<?php include ('b.php'); ?>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
<script type="text/javascript">
function nf(info){
    $.ajax({            
        type:'POST',
        url:'a.php',
        data:'getinfo=' + info         
    });
}
</script>

<a onclick="nf(1)">Option1</a> || <a onclick="nf(2)">Option2</a>
于 2012-10-04T07:49:02.290 回答