直到我发现这实际上是一个问题,才出现此问题。对于这个令人困惑的问题,我深表歉意。基本上,我正在用php收集一个mysql id,并在ajax中使用POST方法来尝试将该post id放入查询中。问题是查询有效并且数据显示在控制台上,但不在此处显示在屏幕上:
在屏幕上,除了array(0){}我什么都看不到。由于var_dump
。
几乎似乎它不是在屏幕上更新,而是在控制台上。这是我的模态代码:
<div class='modal fade' id='small' role='dialog'>
<div class='modal-dialog'>
<div class='modal-content'>
<h3 class="fetchuserid" style='text-align: center;'>
<?php
$db = mysqli_connect("localhost", "root", "password", "testdb");
$uid = $_POST['postuserid'];
var_dump($_POST); <-- This is where you should be seeing the array(1){["postuserid"] => string(2) "10"} `10` being the id I clicked.
$ssql = "SELECT * FROM foodid WHERE postid=$uid";
$rresult = mysqli_query($db,$ssql);
while($lrow = mysqli_fetch_assoc($rresult)){
echo $lrow['countid'];
echo '<span class="postid_count">'.$lrow['countid'].'</span>'; <-- This is where you should be seeing all of those span in the console.
}
?>
</h3>
</div>
</div>
</div>
以下是用于访问模式并负责保存ID的定位标记:
echo '<a href="#" data-postuserid="'.$row['id'].'" id="smallbtn" name="smallbtn" data-toggle="modal" data-target="#small" data-modal="small">';
最后是我的ajax:
$(document).on('click','#smallbtn',function(){
var postuserid = $(this).data('postuserid');
$post = $(this);
console.log($(this).data('postuserid'));
$.ajax({
url: 'cooking.php',
type: 'POST',
data: {
'postuserid' : postuserid
},
success:function(data)
{
console.log(data);
$post.parent().find('span.postid_count').text(data); <-- Here is what I tried to do to I guess "update" the data from the POST. No success.
return data; <-- I read other questions and was told to do this. No success.
},
error:function(data)
{
$( document ).ajaxError(function( event, request, settings )
{
$("#banner-message > p").text('Sorry, we are having a trouble in this url "'+settings.url+'!"')
});
}
});
});
注意:这都是在一页中发生的,没有刷新,因此没有数据丢失。我确实检查了我的网络标签,看是否是问题所在,并且使用200 POST方法一切正常。它还在网络以及控制台中显示正确的postuserid。
我不确定我在这里问的是正确的问题,但是欢迎任何反馈!基本上,如何显示来自控制台的ajax帖子的查询结果并将其放在页面上?
笔:codepen.io/anon/pen/djbgKj
答案 0 :(得分:1)
这将为您提供帮助
document.getElementById("some_id").innerHTML = data;
请尝试一下
您可以这样做:
$post.parent().find('span.postid_count').innerHTML = data;
答案 1 :(得分:1)
听起来您没有正确定位所需的HTML元素或该元素不存在:
尝试:
alert( $post.parent().find('span.postid_count').length ); // or use console.log() if you prefer, it doesn't matter
我希望您收到1个或更多警报。如果没有,那么您需要在页面内正确定位HTML元素。
另外使用.html()
代替.text()
,因为.text()
将从您的data
字符串中剥离HTML代码。
$post.parent().find('span.postid_count').html(data);
答案 2 :(得分:0)
更改此:
$post.parent().find('span.postid_count').text(data);
为此:
$post.parent().find('span.postid_count').html(data);
让我知道它是否对您有用。