0
次のjQuery、Ajax、およびPHPを使用してテーブルに行を追加しようとしています。 JSONエンコードされた配列をAjaxに返す。
Ajaxにの成功を使用すると、行は表に追加されず、アラートも表示されません。
が成功した場合からまでが続きますが、すべてのセルが「未定義」と表示されます。私はなぜ成功機能が失敗しているのか不明です。AjaxとPHPを使用してテーブルに行を追加する
jQueryの/アヤックス
$('#insert').click(function (e) {
e.preventDefault();
$.ajax({
url: "Gender/process.php",
type: "POST",
data: $('form').serialize(),
dataType:"json",
success: function (strMessage) {
alert(strMessage[0]);
$('#pro-table').append(
'<tr class="row"><td>' + strMessage[0] + '</td>\n\
<td>' + strMessage[1] + '</td>\n\
<td>' + strMessage[2] + '</td>\n\
<td>' + strMessage[3] + '</td>\n\
<td>' + strMessage[4] + '</td></tr>'
);
$(".front").addClass('front-transform');
$(".back").addClass('back-transform');
}
});
$("form").trigger("reset");
});
PHP
$user = mysqli_real_escape_string($con, $_POST['user']);
$gender = mysqli_real_escape_string($con, $_POST['gender']);
$description = mysqli_real_escape_string($con, $_POST['description']);
if (isset($user) && isset($gender) && isset($description) && $user != '' && $gender != '' && $description != '') {
$insert_query = "INSERT INTO php_pro1 (user, gender, description) VALUES ('$user','$gender', '$description')";
$rks = mysqli_query($con, "SELECT (up_votes, down_votes) FROM php_pro1 ORDER BY id DESC LIMIT 1");
$row = mysqli_fetch_row($rks);
if (mysqli_query($con, $insert_query)) {
$insert = array($user, $gender, $description, $row[0], $row[1]);
echo json_encode($insert);
} else {
echo mysqli_error($con);
}
} else {
echo 'Failed: ' . mysqli_error($con);
}
彼らは成功し、完全との違いを説明すると、この答えを確認してください:https://stackoverflow.com/questions/5240876/完成との差異https://stackoverflow.com/questions/1021062/use-success-or-complete-in-ajax-call –
完全な関数が何かを返すとしても、存在してはならないことを意味するわけではありませんコードの問題まだ成功がうまくいかない理由についてはまだ失われています。 – AndrewDavies