Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z wyświetlaniem w JS.
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
carbolymer
No więc tak. Mam skrypt przetwarzający dane do wyszukiwarki. Niestety działa on wolno i wszystko musi być robione porcjami.
Pierwszą porcję wywołuję tak (JS):
Kod
search.php?page='+i+'&query=<?=$_GET['query']?>&client=<?=$_GET['client']?>&world=<?=$_GET['world']?>&section=<?=$_GET['section']?>

to jest wywołanie do funkcji MR:
Kod
// JavaScript
var http_request = false;

    function MR(url,i) {
    id=document.getElementById('text'+i);
    id.innerHTML=('<font style="text-align:center;" size="7">Loading site...</font>');
        http_request = false;

        if (window.XMLHttpRequest) { // Mozilla, Safari,...
            http_request = new XMLHttpRequest();
            if (http_request.overrideMimeType) {
                http_request.overrideMimeType('text/xml');
                // Przeczytaj o tym wierszu poniżej
            }
        } else if (window.ActiveXObject) { // IE
            try {
                http_request = new ActiveXObject("Msxml2.XMLHTTP");
            } catch (e) {
                try {
                    http_request = new ActiveXObject("Microsoft.XMLHTTP");
                } catch (e) {}
            }
        }

        if (!http_request) {
            alert('Nie mogę stworzyć instancji obiektu XMLHTTP');
            return false;
        }
        http_request.onreadystatechange = function() {
        if (http_request.readyState == 4) {
        id.innerHTML=(http_request.responseText);
        };
        }
        http_request.open('GET', url, true);
        http_request.send(null);
}

gdy wywołuję pętlę:
Kod
function work()
{
    for ( i=1; i<<?=$numberOfPages?>; i++ )
       MR('search.php?page='+i+'&query=<?=$_GET['query']?>&client=<?=$_GET['client']?>&world=<?=$_GET['world']?>&section=<?=$_GET['section']?>',i)
}

widać ostatnie wywołanie MR() a przy reszcie tylko 'Loading site...'
Jak zrobić aby po kolei ładowało?
Zajec
Rzuciłem tylko okiem na kod. Może chodzi Ci o zrobienie z "http_request" zmiennej lokalnej? Moim zdaniem kłopot w tym, że deklarujesz ją globalnie (poza funkcją MR). Z tego względem każda nowa operacja na tej zmiennej ingeruje we wcześniejszą operację i się wszystko psuje.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.