2017-07-20 12 views
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); 
} 
+0

彼らは成功し、完全との違いを説明すると、この答えを確認してください:https://stackoverflow.com/questions/5240876/完成との差異https://stackoverflow.com/questions/1021062/use-success-or-complete-in-ajax-call –

+0

完全な関数が何かを返すとしても、存在してはならないことを意味するわけではありませんコードの問題まだ成功がうまくいかない理由についてはまだ失われています。 – AndrewDavies

答えて

0

だから間違っていた何の手掛かりを持っていないの時間の後に、それはなかった、このMySQLのクエリの周りに括弧が判明問題が発生する

$rks = mysqli_query($con, "SELECT (up_votes, down_votes) FROM php_pro1 ORDER BY id DESC LIMIT 1"); 

それは単にされている必要があります...この問題を解決し

$rks = mysqli_query($con, "SELECT up_votes, down_votes FROM php_pro1 ORDER BY id DESC LIMIT 1"); 

関連する問題