0

您好,我正在开发一个喊话箱,我需要通过 ajax 自动更新它们的帮助。

这是我的喊话框,最后带有 ?getShouts=true :

图像

这是我没有那个的喊话箱:

图像

我的目标是运行一个网络请求并在 ?getShouts 中获取喊话框的内容,并在我所在的页面上进行更新。

此 PHP 代码在页面顶部运行:

if(!empty($_GET['getShouts']))
{
    $sbinfo = "";
    $rows = $db->query("SELECT * FROM shouts order by shoutid DESC limit 20");
    while($row = $rows->fetch_array(MYSQL_ASSOC))
        $sbinfo .= $row['username'] . ": " . $row['shout'] . "<br />";
}

它将文本的标记存储到一个字符串中。

稍后在 php 文件中,它通过以下方式显示标记:if(!empty($_GET['getShouts'])) echo $markup;

这是我目前正在运行的ajax:

<script>


        $(document).ready(function() {
            getMessages();
        });

        function getMessages()
        {

            //make request
            var req = new XMLHttpRequest();
            req.open("GET", location.href+"?getShouts=true", true);
            req.send(null);
            document.getElementById("shouts-box").innerHTML = req.responseXML.getElementsById("shouts-box")[0].innerHTML;

            //loop
            window.setInterval(getMessages,3000);
        }
</script>

有任何想法吗?

4

1 回答 1

0

我找到了一个解决方案,使用:

$('#div').load('index.php?getShouts=true #div');
于 2013-08-04T09:31:10.297 回答