弹出窗口中的内容不刷新。如何制作动态

时间:2016-04-29 08:58:06

标签: javascript php jquery ajax popup

我在网站上工作,就像facebook一样,现在我正在制作喜欢和节目的人喜欢照片或帖子。我卡在弹出窗口,显示实际上谁喜欢照片/ post.Im使用这个PHP代码:

jQuery('.item').on('click', function() {
    jQuery('.content', this).toggle();
}

效果很好,但是当我把php代码放在弹出窗口中时(http://codepen.io/imprakash/pen/GgNMXO

foreach ($viewLikes as $name ) {
    echo $name["username"].", likes it!"."<br>";
}

div中的内容保持不变并且不刷新。我知道我必须使用JS或AJAX,但我不是很擅长。因此,如果某人有另一个弹出窗口,它会加载我的内容或某些脚本,请分享

1 个答案:

答案 0 :(得分:0)

您可以让您的PHP返回JSON blob中的视图,使用AJAX请求它​​并让Javascript迭代数据并使用它接收的数据更新页面(这是使用JQuery)。

PHP:

echo json_encode($viewLikes);

使用Javascript:

setInterval( function() {
    $.get( 'yourphp.php', function() {
        $('#cnt').empty();
        for ( like in data ) {
            $('#cnt').append('<span>' + like + '</span>');
        }
    } );
}, 1000);

这完全不是我的头脑,所以可能不会直接工作,但希望它能让你朝着正确的方向前进。间隔也可能是混乱的,因为它们会继续前进直到你说停止 - 但这里的想法是它将每1秒刷新一次列表(setInterval的第二个参数)

也可能值得把JSON.parse()放在Javascript中的数据上 - iirc可以将它留在这样的情况下,但是一旦你得到它就解析JSON通常是好的做法,以防万一它有问题,你需要处理产生的异常