AJAX定时MySQL刷新

时间:2011-04-05 14:35:15

标签: javascript ajax

我希望能够每2分钟刷新一次页面,然后运行PHP文件,以便重新填充数据表。我已经读过setTimeout()可以用来做这个但我无法弄清楚如何做到这一点。任何人都有任何示例代码?

<script type="text/javascript">
function showSellers(isbn)
{
    //if there is no isbn given, show nothing and return nothing
    if (isbn=="")
    {
        document.getElementById("sellers").innerHTML="";
        return;
    } 
    //AJAX request for IE7+, Firefox, Chrome, Opera, Safari
    if (window.XMLHttpRequest)
    {
        xmlhttp=new XMLHttpRequest();
    }
    //AJAX request for IE6, IE5
    else
    {
        xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
    //if the state of the page changes, do this
    xmlhttp.onreadystatechange=function()
    {
        if (xmlhttp.readyState==4 && xmlhttp.status==200)
        {
            document.getElementById("sellers").innerHTML=xmlhttp.responseText;
        }
    }
    xmlhttp.open("GET","ajax_seller.php?isbn="+isbn,true);
    xmlhttp.send();
}
</script>

1 个答案:

答案 0 :(得分:1)

如果您想定期执行此操作,可以使用setInterval;

setInterval(function(){ showSellers("my_isbn"); }, 120000);

您可以将全局变量用于isbn;

globalISBN = "123456";
setInterval(function(){ showSellers(globalISBN); }, 120000);

检索GET参数;

function getParameter(name)
{
    var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');

    for(var i = 0; i < hashes.length; i++)
    {
        var hash = hashes[i].split('=');
        if(hash[0] == name)
        {
             return hash[1];
        }
    }

    return null;
}

setInterval(function(){ showSellers(getParameter("isbn")); }, 120000);