无法使用ajaxcall获取发布值

时间:2009-07-06 12:37:37

标签: jquery ajax json

我的问题是: 我正在尝试检索postvalue,但每当我在php代码中放入该语句时,ajaxcall都会失败。

我看不到我在这里缺少什么?

$.ajax({
            url: "includes/livetabs.php?actie=sessiegebruikersnaam", 
            data: {gebruikersnaam: tbgebruikersnaam},
            cache: false,
            dataType: "json",
            success: function(data) {
            //opslaan van gebruikersnaam in php sessie
        /*$.post("includes/livetabs.php", {"sessiegebruikersnaam": chatnaam},
                 function(data){*/
                    //doe nog iets
                aa= data.status;
                bb=data.naam;
            //krijg de instellingen terug
            alert(aa);
            alert(bb);  
        }});

//php section
if(isset($_GET['actie'])){
**$n=$_POST['gebruikersnaam'];**
    if ($_GET['actie']=="sessiegebruikersnaam"){
    if (!isset($_SESSION['username'])){
    $_SESSION['username'] = $n ;}
    header('Content-type: application/json');
    //geef ook meteen de secondary instellingen terug

    ?>

{
        "status": "somevalue",
        "naam": "anothervalue"
}
    <?php
    exit(0); // Stop het script.
    }
}
谢谢,理查德

1 个答案:

答案 0 :(得分:0)

编辑:你传递给服务器的东西应该用括号括起来,同样,为了清楚起见,我会指明请求的类型:

data: ({gebruikersnaam : tbgebruikersnaam}),
type: "POST", //just in case

糟糕的json不能与$ .ajax一起使用。尝试在服务器上使用json_encode生成json:

//php section
if(isset($_GET['actie'])){
**$n=$_POST['gebruikersnaam'];**
    if ($_GET['actie']=="sessiegebruikersnaam"){
    if (!isset($_SESSION['username'])){
    $_SESSION['username'] = $n ;}
    header('Content-type: application/json');
    //geef ook meteen de secondary instellingen terug
    echo json_encode(array('status' => 'someValue', 'naam' => 'anotherValue'));
    exit();
    ?>

此外,使用$.getJSON代替$ .ajax可能会更清楚。