【发布时间】:2014-05-01 18:44:51
【问题描述】:
我正在尝试轮询 PHP 页面以获取更新的 $val 变量值,但由于某种原因它不想在调用 html 页面上显示任何内容
PHP (generator.php) 脚本:
<?php
header('Content-type: text/html; charset=utf-8');
function output($val)
{
echo $val;
flush();
ob_flush();
usleep(500000);
}
output('Begin... (counting to 10)');
for( $i = 0 ; $i < 10 ; $i++ )
{
output($i+1);
}
output('End...');
?>
HTML 页面:
<html>
<head>
<script type="text/javascript">
function generate(){
try {
xmlhttp = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP");
} catch(e) {
}
xmlhttp.onreadystatechange = refreshwait;
xmlhttp.open('GET', './generator.php', true);
xmlhttp.send('null');
}
function refreshwait() {
if (xmlhttp.readyState == 4){
if(xmlhttp.status == 200){
var code = 'Finished';
document.getElementById('view_area').innerHTML = code;
}
}else{
document.getElementById("view_area").innerHTML = xmlhttp.responseText;
refreshwait();
}
}
</script>
</head>
<body>
<div id="a_form">
<form id="aform">
<input name="Generate" onClick="generate()" type="button" value="Generate Fresh File" />
</form>
</div>
<div id="view_area"></div>
</body>
</html>
我做错了什么?我希望在 php 运行时在 html 页面上看到从 1 到 10 的计数。
【问题讨论】:
-
去掉对flush和ob_flush的调用是否有效?
-
尝试获取文件的完整路径或url,并在成功状态下提示结果
-
代码正在工作尝试检查文件路径 xmlhttp.open('GET', './generator.php', true);
标签: javascript php html xmlhttprequest