如何将 php 变量从循环传递给 javascript 变量
How to pass php variable from a loop to a javascript variable
我有一个 while 循环,它加载用户的 posts,当点击赞按钮以获取 post id 时,将它发送到另一个 php 页面,它将处理它并在数据库中更新喜欢的号码,但我无法获得好的 ID..
我的 while 循环:
while($posts = mysqli_fetch_array($query)){
<div <?php echo "id=".$posts['id'] ?>
<div class="post">
.
.
</div>
</div> }
和 Ajax 请求:
var id = "<?php echo $posts['id'] ?>";
$.ajax({
type: 'POST',
url: 'likes.php',
data: {id:id},
success: function(msg){
alert('Success!');
}
});
但它只输出 while 循环的最后一个值,我希望每个 post 在点赞按钮为 pressed.Thanks 时获取 ID 以求帮助!
你所做的永远不会奏效。由于您有多个 ID,因此您必须从被点击的 <div>
中检索 ID,并将其传递给您的 ajax 调用,例如
<div data-id="42" class="clickme">
<script>
$('div.clickme').click(function (e) {
id = $(this).attr('data-id');
$.ajax( .... use "id" here ... );
}
或者,即使是这样的事情也会有所帮助:
<? while(... fetch from db ... ){ ?>
<div onclick="doAjax(<?php echo json_encode($row['id']); ?>)">
<script>
function doAjax(id) {
$.ajax(... use "id" here ...);
}
</script>
我有一个 while 循环,它加载用户的 posts,当点击赞按钮以获取 post id 时,将它发送到另一个 php 页面,它将处理它并在数据库中更新喜欢的号码,但我无法获得好的 ID.. 我的 while 循环:
while($posts = mysqli_fetch_array($query)){
<div <?php echo "id=".$posts['id'] ?>
<div class="post">
.
.
</div>
</div> }
和 Ajax 请求:
var id = "<?php echo $posts['id'] ?>";
$.ajax({
type: 'POST',
url: 'likes.php',
data: {id:id},
success: function(msg){
alert('Success!');
}
});
但它只输出 while 循环的最后一个值,我希望每个 post 在点赞按钮为 pressed.Thanks 时获取 ID 以求帮助!
你所做的永远不会奏效。由于您有多个 ID,因此您必须从被点击的 <div>
中检索 ID,并将其传递给您的 ajax 调用,例如
<div data-id="42" class="clickme">
<script>
$('div.clickme').click(function (e) {
id = $(this).attr('data-id');
$.ajax( .... use "id" here ... );
}
或者,即使是这样的事情也会有所帮助:
<? while(... fetch from db ... ){ ?>
<div onclick="doAjax(<?php echo json_encode($row['id']); ?>)">
<script>
function doAjax(id) {
$.ajax(... use "id" here ...);
}
</script>