Ajax xml httprequest для преобразования jquery - PullRequest
0 голосов
/ 03 ноября 2010

Я довольно новичок в javascript / ajaax / 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, и эта функция выводит идентификатор ... Затем я хочу, чтобы ajax сравнил идентификатор, полученный из getnewid.php, с "LastCallID"если новый идентификатор больше, я хочу, чтобы он вызывал эту функцию GoPopUp.Если новый идентификатор не больше, я хочу, чтобы он позвонил сам.Я инициализировал этот запрос ajax, выполнив

<script type="text/javascript">

$. Ajax ({url: "getnewid.php", success: function (data) {if (document.getElementById ("lastCallID"). InnerHTML } else {setTimeout ('$. Ajax ()', 15000)}}});

РЕДАКТИРОВАТЬ: @Ben, вот как я реализовалЭто.(По какой-либо причине я не могу отобразить весь код, см. Прикрепленный скриншот) http://www.screencast.com/users/bibbles10504/folders/Jing/media/7e631bd9-e9df-4cb9-ab4f-a7672bbea0a0

Ответы [ 2 ]

2 голосов
/ 03 ноября 2010
<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>
1 голос
/ 03 ноября 2010

Вы должны использовать jquery для ajax $ .ajax, он позаботится обо всем, что вам нужно.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...