-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']$_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 に答える