XMLHttpRequest in for loop

后端 未结 2 1804
时光说笑
时光说笑 2020-12-09 11:59

I am trying to make several server requests inside a for loop. I found this question and implemented the suggested solution. However it doesn\'t seem to work.



        
2条回答
  •  无人及你
    2020-12-09 12:46

    Try the snippet below

    // JavaScript
    window.onload = function(){
    
        var f = (function(){
            var xhr = [], i;
            for(i = 0; i < 3; i++){ //for loop
                (function(i){
                    xhr[i] = new XMLHttpRequest();
                    url = "closure.php?data=" + i;
                    xhr[i].open("GET", url, true);
                    xhr[i].onreadystatechange = function(){
                        if (xhr[i].readyState === 4 && xhr[i].status === 200){
                            console.log('Response from request ' + i + ' [ ' + xhr[i].responseText + ']'); 
                        }
                    };
                    xhr[i].send();
                })(i);
            }
        })();
    
    };
    
    // PHP [closure.php]
    echo "Hello Kitty -> " . $_GET["data"];
    

    Response

    Response from request 0 [ Hello Kitty -> 0]
    Response from request 1 [ Hello Kitty -> 1]
    Response from request 2 [ Hello Kitty -> 2] 
    

提交回复
热议问题