-1

我必须从数据库中获取数据,但我的脑袋坏了,因为我没有发现任何错误,但我不知道为什么它不起作用!

JavaScript

var editdata = document.getElementById('editdata');
editdata.onclick = function() {
    $.ajax({
        url: "sendata.php",
        data :{ length : length, age : age, },
        type : 'POST',
        success: function(output_data){
            $('#mydata').html(output_data);
        }
    });
}

PHP

if (isset($_POST['editdata'])) {
    $sql4 = $db->setQuery(
        "SELECT * FROM people WHERE userid = "
        . $userid2 . " AND inf_id = " . $_SESSION['name'] . " "
    );
    $result4 = $sql4->loadAssocList() ;
    $output_data = "";
    $output_data .= "<table width='600' border='1' >";
    foreach ($result4 as $row4) {
        $output_data .= "<tr><td>".$row4['age'];
        $output_data .= "</td><td>".$row4['length'] ;
        $output_data .= "</td><td><input id ='".$row4['id']
            . "' type='button' value='Delete'/>";
        $output_data .= "</td></tr>" ;
    }
    $output_data .= "</table>" ;
    echo $output_data ;
}
echo "failure";

但如果我这样做,我只会收到一条failure消息:

success: function(msg){
    alert(msg);
    $('#mydata').html(output_data);
}

我究竟做错了什么?

4

1 回答 1

1

您正在{ length : length, age : age }使用 POST 方法发送。

这意味着只有$_POST['lenght']and$_POST['age']被设置,因此(isset($_POST['editdata']))返回 false 并且不执行 if 块。

你的意思:

if (isset($_POST['legth']) and isset($_POST['age'])) {
    ...
}

您还可以注意到echo "failure;"每次都执行。也许你的意思是:

if (isset($_POST['editdata'])) {
    ...
} else {
    echo "failure";
}

?

于 2012-11-25T00:39:44.070 回答