Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Problem z wyświetlaniem w JS., Jak wyświetlić inne stronę w dokumencie po kolei.
carbolymer
post
Post #1





Grupa: Zarejestrowani
Postów: 102
Pomógł: 12
Dołączył: 27.01.2007
Skąd: north              Poziom: 158                     Tytuł: Miszcz

Ostrzeżenie: (0%)
-----


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?

Ten post edytował carbolymer 30.07.2007, 12:49:14
Go to the top of the page
+Quote Post
Zajec
post
Post #2





Grupa: Zarejestrowani
Postów: 1 086
Pomógł: 8
Dołączył: 10.12.2003

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 13:19