如何将值从php发送到ajax?

如何将值从php发送到ajax?,php,jquery,ajax,Php,Jquery,Ajax,当用户单击标记时,如何将PersonID的值发送到edit.php <?php $result = mysql_query("SELECT PersonID, FirstName, LastName, Age FROM persons"); echo "<table>"; while ($row = mysql_fetch_array($result)) { echo "<tr>"; echo "<

当用户单击
标记时,如何将PersonID的值发送到edit.php

<?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>";
?>


在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>

$(“a.edit”)。单击(函数(){
var id=$(this.attr(“name”);
美元(“”)之后最近的(“tr”);
$.ajax({
url:“edit.php”+id,
成功:功能(响应){
//做任何事
}
});
});
在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>

$(“a.edit”)。单击(函数(){
var id=$(this.attr(“name”);
美元(“”)之后最近的(“tr”);
$.ajax({
url:“edit.php”,
数据:{id:id},
成功:功能(响应){
//做任何事
}
});
});

通过快速而肮脏的方式,您可以从标记本身获取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>

$(“a.edit”)。单击(函数(){
美元(“”)之后最近的(“tr”);
var personid=$(this.attr(“name”);
$.ajax({
url:“edit.php?personID=“+personID,
成功:函数(){/*在此处添加成功回调*/}
});
});
这是假设您希望使用GET请求来执行此操作。一种更酷(和)的方法是使用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>

$(“a.edit”)。单击(函数(){
美元(“”)之后最近的(“tr”);
var personid=$(this.attr(“name”);
$.ajax({
url:“edit.php,
类型:“POST”,
数据:{personID:personID},
/*在此处添加回调等*/
});
});
在这种情况下,您必须修改edit.php以从请求而不是从querystring获取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>