lengthComputable始终为false

时间:2015-01-09 16:26:39

标签: javascript php ajax apache http

我花了一整天的时间......尝试并做研究,但我找不到适合这个具体案例的解决方案。我正在做一个非常简单的任务:通过HTML 5进行状态栏的AJAX HTTP下载请求。但是lengthComputable总是假的,我无法弄明白为什么!

我简化了所有代码以使其可读:

这是JavaScript代码:

var http = new Object();

http.request = function (){

    xmlhttp=new XMLHttpRequest();

    xmlhttp.addEventListener("progress", updateProgress, false);

    function updateProgress(a){
        console.log(a.lengthComputable)
        if (a.lengthComputable) {
            console.log(a.loaded/a.total*100);
        }
    }

    xmlhttp.open("POST",'http://www.name.com/test/test.php',true);

    xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");

    xmlhttp.onreadystatechange=function(){

      if(xmlhttp.readyState==4 && xmlhttp.status==200){
            var response = xmlhttp.responseText;
            console.log(response);
        }

      }
    xmlhttp.send();

}

http.request();

这是PHP代码:

ob_start();

$i=0;
$txt='';
while($i<(1024*1024)){
    $txt.=rand(0, 9);
    ++$i;
}

header('Access-Control-Allow-Origin: *');
header('Content-Type: text/plain');
header('Content-Length: '.strlen($txt));
header('Accept-Ranges: bytes');

echo $txt;

ob_end_flush(); 

我认为这是一个服务器端问题,也许是我对Apache / PHP不了解的一些设置,但这只是一种谁不知道该怎么做的感觉。

1 个答案:

答案 0 :(得分:0)

matrix1 <- combn(10, 3)
matrix2 <- combn(20, 1)

pasted1 <- apply(matrix1,2,paste0,collapse=",")
pasted2 <- apply(matrix2,2,paste0,collapse=",")

expanded <- apply(expand.grid(pasted1,pasted2),1,paste0,collapse=",")

res <- lapply(strsplit(expanded,","),as.numeric)