如何使用php获取ajax发送的数据

时间:2012-10-04 07:39:58

标签: php jquery ajax

我的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文件中进行一些更改时。但我无法检索数据?

2 个答案:

答案 0 :(得分: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
    }); 
}

请查看:

答案 1 :(得分: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>