我有一个包含三列的表格:
id
author
message
一旦用户点击More
按钮,该按钮就会将Count
参数传递给.load
函数。然后应该显示新数据,但它
显示空白页。我做错了什么?
这是 index.php:
<div id="comments">
<?php
$v=$db->prepare('select * from comments limit 2');
$v->execute();
$data=$v->fetchAll(PDO::FETCH_ASSOC);
foreach ($data as $row) {
echo "<div>".$row['author']."</div>";
echo "<div>".$row['message']."</div>";
echo "</br>";
}
?>
</div>
<input type="submit" name="" id="submit" value="More">
</body>
</html>
<script type="text/javascript">
$(document).ready(function(){
var commentCount=2;
$('#submit').click(function(){
commentCount=commentCount+2;
$('#comments').load('loadComments.php',{count:commentCount});
});
});
</script>
这是 loadComments.php:
<?php
$db=new PDO('mysql:host=localhost;dbname=ajax',"root","");
$newCount=$_POST['count'];
$ex=$db->prepare('select * from comments limit $newCount');
$ex->execute();
$data=$ex->fetchALL(PDO::FETCH_ASSOC);
foreach ($data as $row) {
echo "<div>".$row['author']."</div>";
echo "<div>".$row['message']."</div>";
echo "</br>";
}
?>
编辑:
如果我用这种方式,一切都可以。
$v=$db->prepare('select * from comments limit 3');
但是我检查了 loadComment.php 中的 count
参数
echo $newCount;
而且我能够得到值 Its funny
最佳答案
这个问题是因为使用单引号字符串(如 '
)而不是双引号字符串(如 "
) - 正如@mrunion 在评论中提到的
在 PHP 中,当使用 '
时,与 "
标记相比,内部字符串不会被评估。因此 'select * from comments 的语句限制了 $ newCount'
按原样发送并且 $newCount
未被评估为 2 或它持有的任何整数。
可以找到关于 PHP 引用的完整解释 here
关于php - jQuery .load() 似乎不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51694656/