[ajax] mehrere Requests



  • hiho,
    ich versuche mit ajax innert kürzester Zeit einige Requests abzusetzten. Eigentlich sollten 100 Requests mit einer for-Schleife durchgeführt werden.

    function createRequestObject() {
        var ro;
        var browser = navigator.appName;
            if(browser == "Microsoft Internet Explorer"){
            ro = new ActiveXObject("Microsoft.XMLHTTP");
        }else{
            ro = new XMLHttpRequest();
        }
        return ro;
    }
    

    mit diesem Code initialisiere ich mein "ajax"

    var http = createRequestObject();
    
    function sndReq(data) {
        http.open('get', 'rpc.php?pdf=' + data);
        http.onreadystatechange = handleResponse;
        http.send(null);
    }
    
    function handleResponse() {
        if(http.readyState == 4){
        var response = http.responseText;
        document.getElementById('content').innerHTML = "- " + response + "<br />" + document.getElementById('content').innerHTML
        }
    }
    

    von rpc.php bekomme ich ne plain-text Seite, die ich in ein div einfüge. für meine Tests hab ich rpc.php vereinfacht, die Seite enthält einfach den Text "fehlerhafte Parameter".

    <script type="text/javascript">
        var t=0;
        for(t=0; t < 10; t++) {
            sndReq(t);
        }
    </script>
    

    im body-Bereich der Seite wird 10x die Funktion aufgerufen, die den Request durchführt

    Wunschresultat der ganzen Aktion: 😉

    - fehlerhafte Parameter
    - fehlerhafte Parameter
    - fehlerhafte Parameter
    - fehlerhafte Parameter
    - fehlerhafte Parameter
    - fehlerhafte Parameter
    - fehlerhafte Parameter
    - fehlerhafte Parameter
    - fehlerhafte Parameter
    - fehlerhafte Parameter
    

    Ergebnis im FF 1.5RC3

    -
    

    Ausgabe des IE

    - fehlerhafte Parameter
    

    und die des Opera 8.5 😮

    - fehlerhafte Parameterfehlerhafte Parameterfehlerhafte Parameterfehlerhafte Parameterfehlerhafte Parameterfehlerhafte Parameterfehlerhafte Parameterfehlerhafte Parameterfehlerhafte Parameterfehlerhafte Parameter
    - fehlerhafte Parameterfehlerhafte Parameterfehlerhafte Parameterfehlerhafte Parameterfehlerhafte Parameterfehlerhafte Parameterfehlerhafte Parameterfehlerhafte Parameterfehlerhafte Parameter
    - fehlerhafte Parameterfehlerhafte Parameterfehlerhafte Parameterfehlerhafte Parameterfehlerhafte Parameterfehlerhafte Parameterfehlerhafte Parameterfehlerhafte Parameter
    - fehlerhafte Parameterfehlerhafte Parameterfehlerhafte Parameterfehlerhafte Parameterfehlerhafte Parameterfehlerhafte Parameterfehlerhafte Parameter
    - fehlerhafte Parameterfehlerhafte Parameterfehlerhafte Parameterfehlerhafte Parameterfehlerhafte Parameterfehlerhafte Parameter
    - fehlerhafte Parameterfehlerhafte Parameterfehlerhafte Parameterfehlerhafte Parameterfehlerhafte Parameter
    - fehlerhafte Parameterfehlerhafte Parameterfehlerhafte Parameterfehlerhafte Parameter
    - fehlerhafte Parameterfehlerhafte Parameterfehlerhafte Parameter
    - fehlerhafte Parameterfehlerhafte Parameter
    - fehlerhafte Parameter
    

    hm, jeder Browser eine andere Ausgabe und keine so wie ich es will. Wo ist das Problem?



  • du kannst den "harten" weg gehen und verschiedene requests und handles definieren

    z.b.

    request1
    request2

    mit eigenen handles

    oder halt 2 objecte machen und die mit new erzeugen

    weil du hast ein request und bevor der z.b. den statewert 4 bekommt schickst du den ja wieder los.


Anmelden zum Antworten