2011-08-22 112 views
0

當用戶點擊<a>標籤時,如何將PersonID的值發送到edit.php?如何將php的值發送給ajax?

<?php 
$result = mysql_query("SELECT PersonID, FirstName, LastName, Age FROM persons"); 
    echo "<table>";  
    while ($row = mysql_fetch_array($result)) 
    { 
     echo "<tr>"; 
     echo "<td>Name: ".$row['FirstName']." ".$row['LastName'].", Age: ".$row['Age']."</td>"; 
     ?> 
     <td> 
      <a class="edit" name="<?php echo $row['PersonID'] ?>">Edit</a> 
     </td> 
     <?php 
     echo "</tr>"; 
    } 
    echo "</table>"; 
?> 

這裏的unfinish AJAX,

<script type="text/javascript" language="javascript">   
     $("a.edit").click(function(){ 
      $(this).closest("tr").after("<div id=\"editform\"></div>"); 
      $.ajax({ 
       url: "edit.php", 
       // -- WHAT SHOULD BE THE NEXT STEP? -- 
      }); 
     }); 
</script> 

謝謝!

回答

2

快速和骯髒的方式的情況下,你可以是PersonID從標籤本身的價值,然後將其作爲查詢字符串的一部分發送:

<script type="text/javascript" language="javascript">   
     $("a.edit").click(function(){ 
      $(this).closest("tr").after("<div id=\"editform\"></div>"); 
      var personid = $(this).attr("name"); 
      $.ajax({ 
       url: "edit.php?personID=" + personid, 
       success : function() { /* Add success callback here */ } 
      }); 
     }); 
    </script> 

這是假設您希望使用GET請求執行此操作。冷卻器(和RESTful)的方式將與POST請求去做,併發送PERSONID作爲請求體參數:

<script type="text/javascript" language="javascript">   
      $("a.edit").click(function(){ 
       $(this).closest("tr").after("<div id=\"editform\"></div>"); 
       var personid = $(this).attr("name"); 
       $.ajax({ 
        url: "edit.php, 
        type : "POST", 
        data : { personID : personid }, 
        /* add callback etc here */ 
       }); 
      }); 
     </script> 

在這種情況下,你就必須修改edit.php到從請求中獲取personID參數,而不是從查詢字符串中獲取。

0

在GET請求

<script type="text/javascript" language="javascript">   
    $("a.edit").click(function(){ 
     var id = $(this).attr("name"); 
     $(this).closest("tr").after("<div id=\"editform\"></div>"); 
     $.ajax({ 
      url: "edit.php" + id, 
      success: function(response) { 
       // Do whatever 
      } 
     }); 
    }); 
</script> 

在POST請求的情況下

<script type="text/javascript" language="javascript">   
    $("a.edit").click(function(){ 
     var id = $(this).attr("name"); 
     $(this).closest("tr").after("<div id=\"editform\"></div>"); 
     $.ajax({ 
      url: "edit.php", 
      data: { id: id }, 
      success: function(response) { 
       // Do whatever 
      } 
     }); 
    }); 
</script>