如何将值从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>