如何在使用AJAX点击保存时向表中添加记录


How to add a record to table when hitting save using AJAX?

我从数据库中加载了一个表。当用户输入记录时。应该在不刷新整个页面的情况下将记录添加到表中。这应该在AJAX函数中。下面是我的JavaScript代码:

$(document).ready(function(){
//save button listener  
$("#save").click(function(){
//receiving data entered by user from design.php        
     var name = $('#name').val();
     var email = $('#email').val();
     var telephone = $('#telephone').val();
     var username = $('#username').val();
     var password = $('#password').val(); 
     
$.ajax({
   type:'POST',
   url: 'contactData.php',             
   data:{"name":name,"telephone":telephone,"email":email, "username":username, "password":password},
  // dataType:'json',
   success: function(data) {
       ssword);
       var result = JSON.parse(data);
       $("#validate").html(result.msg);
      
                           }        
  });//end of ajax
     });//end of listener
        });//end of javascript

下面是我的表(PHP):

<div class="table">
<?php 
 //connect to the database
   $username="root";
   $password="";
   $host="localhost";
   $connector = mysql_connect($host,$username,$password)
      or die("Unable to connect");
  $selected = mysql_select_db("mysql", $connector)
    or die("Unable to connect");
  //execute the SQL query and return records
  $result = mysql_query("SELECT * FROM users ");
  ?>
<table border="2" style= "background-color: #99ffcc; color: #761a9b; margin: 0 auto;">
<thead>
  <tr>
        <th>Name</th>
        <th>Email</th>
        <th>Telephone</th>
        <th>Username</th>
        <th>Password</th>
      <tbody>
        <?php
          while( $row = mysql_fetch_assoc( $result ) )
          {
           echo "<tr>
                 <td>{$row['name']}</td>
                 <td>{$row['email']}</td>
                 <td>{$row['telephone']}</td>
                 <td>{$row['username']}</td>
                 <td>{$row['password']}</td>
                 </tr>'n";
           }
        ?>
     </tbody>    
   </tr>
</thead>
</table>
</div>

如何在AJAX函数中刷新表?

为body添加一个类

<tbody class="res-container">

在AJAX调用中,您可以尝试这样做。

data1: {name: name, telephone: telephone, email: email, username: username, password: password},
success: function(response) {
    var html = '<tr>';
    html = html + '<td>' + this.data1.name + '</td>';
    html = html + '<td>' + this.data1.email + '</td>';
    html = html + '<td>' + this.data1.telephone + '</td>';
    html = html + '<td>' + this.data1.username + '</td>';
    html = html + '<td>' + this.data1.password + '</td>';
    html = html + '</tr>';
    $('.res-container').append(html);
}

this.data1.name基本上是访问ajax data1属性。所以不管你给它赋什么名字,这里都应该用相同的

更新:

我已经修改了代码以更新正确的值。我不能使用this.data内成功。所以我创建了另一个名为data1的属性,并使用this.data1访问它。