繁体   English   中英

Ajax XML httprequest到jquery转换

[英]Ajax xml httprequest to jquery conversion

我是javascript / ajax / jquery的新手,但是我能够找出以下ajax脚本。 不幸的是,它不能在跨浏览器中运行……据我所知,在任何IE版本中都无法运行……我想知道是否有人可以帮助我将其转换为jquery? 我听说这比使用ajax更好。

<script type="text/javascript">
function checkRefresh(str)
{
    if (str=="") {
        document.getElementById("lastCallID").innerHTML="";
        return;
    }

    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) {
            if (document.getElementById("lastCallID").innerHTML < xmlhttp.responseText) {
                GoPopUp();  
            } else {
                setTimeout('checkRefresh()',15000)
            }
        }
    }
    xmlhttp.open("GET","getnewid.php",true);
    xmlhttp.send();
}

更新:我有以下代码。 但是我仍然无法正常工作。 我希望此ajax请求每15秒发送一次...它调用此函数getnewid.php,并且该函数回显出一个ID ...然后,我希望ajax将从getnewid.php获得的ID与“ LastCallID”进行比较”,如果新ID更大,我希望它调用此函数GoPopUp。 如果新ID不大,我希望它自己调用。 我通过执行初始化了这个ajax请求

<script type="text/javascript">

$ .ajax({url:“ getnewid.php”,成功:function(data){if(document.getElementById(“ lastCallID”)。innerHTML <data){GoPopUp();
} else {setTimeout('$。ajax()',15000)}}));

编辑:@本,这就是我实现它的方式。 (出于某种原因,我无法显示所有代码,请参阅附件的屏幕截图) http://www.screencast.com/users/bibbles10504/folders/Jing/media/7e631bd9-e9df-4cb9-ab4f- a7672bbea0a0

<head>
    .......

    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.3/jquery.min.js" type="text/javascript"></script>

    <script type="text/javascript">
        $(document).ready(function() {
            initialize();
            showClock();

            (function checkRefresh() {
                $.ajax({
                    url: 'getnewid.php',
                    success: function(data) {
                        if (parseInt($('#lastCallID').html()) < parseInt(data)) GoPopUp();
                        else setTimeout(checkRefresh, 15000);
                    }
                });
            })();
        });
    </script>

    .......
</head>

<body>
    .......
</body>

您应该对ajax $ .ajax使用jquery,它会为您处理所有跨浏览器的工作。

http://api.jquery.com/jQuery.ajax/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM