Javascript div刷新

时间:2015-04-21 05:10:48

标签: javascript php refresh

我正在尝试刷新php脚本以将更新的内容显示为数据库更新。我首先构建我的PHP,然后代码刷新然后合并它们。但是,脚本不会更新。谁知道为什么?

<script type="text/javascript"
    src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
<script>
    $(document).ready(
            function() {
                setInterval(function() {
                    if(document.getElementById('gallery') != null){
                        function showLots() {
                            if (window.XMLHttpRequest) {
                                // code for IE7+, Firefox, Chrome, Opera, Safari
                                xmlhttp = new XMLHttpRequest();
                            } else {
                                // code for IE6, IE5
                                xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
                            }
                            xmlhttp.onreadystatechange = function() {
                                if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
                                    document.getElementById("gallery").innerHTML = xmlhttp.responseText;
                                }
                            }
                        xmlhttp.open("GET","getuser.php",true);
                        xmlhttp.send();
                        } 
                    }
                }, 3000);
            });
</script>

感谢。

2 个答案:

答案 0 :(得分:2)

您没有调用方法showLots,首先在函数外部定义它,然后在setInterval

中调用它

答案 1 :(得分:0)

您的代码存在的问题是function showLots()在您的if (document.getElementById('gallery') != null)条件中,而实际上没有执行该函数。

通过移动function showLots()定义,下面是您更正后的代码的样子。然后在您最初拥有定义的内部调用showLots()

<script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
<script>
    function showLots() {
        if (window.XMLHttpRequest) {
            // code for IE7+, Firefox, Chrome, Opera, Safari
            xmlhttp = new XMLHttpRequest();
        } else {
            // code for IE6, IE5
            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
        }
        xmlhttp.onreadystatechange = function() {
            if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
                document.getElementById("gallery").innerHTML = xmlhttp.responseText;
            }
        }
        xmlhttp.open("GET","getuser.php",true);
        xmlhttp.send();
    } 

    $(document).ready(function () {
        setInterval(function () {
            if (document.getElementById('gallery') !== null) {
                showLots();
            }
        }, 3000);
    });
</script>