php - jQuery .load() 似乎不起作用

标签 php jquery mysql

我有一个包含三列的表格:

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/

相关文章:

php - MySQL 如果第一次输入是从 2016 年开始选择客户

php - AJAX 没有响应

jquery对象性质

php - 如何将查询转换为 Laravel

php - 搜索多列,第一列中的几个词

php - 在页面加载时抓取剪贴板数据

php - 使用对象中的元素添加到类的变量

javascript - 从点击触发的新页面获取被点击的html元素的访问权限

jquery - 将 JQuery 按钮无空格旋转到 -45 度

c# - 不正确的字符串值 : '\xEF\xBF\xBD' for column