我有三个文件,分别是1.php、2.php和Ajax.js
1.php内容如下<?php $i= //对变量i进行一系列运算include("2.php")2.php内容如下
<?php
echo $i;Ajax.js大体内容如下:
每隔1秒中请求一下2.php的返回内容;
httpxml.open("get","2.php");
XX.innerHTML=httpxml.responseText;
但是现在的问题是XX.innerHTML始终不变,不知为何?
已确认以下信息:
1、1.php中的$i内容时刻在变化
2、Ajax.js也按照规定频率执行请求动作ajaxphp
1.php内容如下<?php $i= //对变量i进行一系列运算include("2.php")2.php内容如下
<?php
echo $i;Ajax.js大体内容如下:
每隔1秒中请求一下2.php的返回内容;
httpxml.open("get","2.php");
XX.innerHTML=httpxml.responseText;
但是现在的问题是XX.innerHTML始终不变,不知为何?
已确认以下信息:
1、1.php中的$i内容时刻在变化
2、Ajax.js也按照规定频率执行请求动作ajaxphp
那么你只访问2.php如何能得到1.php计算的结果呢?
你 httpxml.open("get","2.php"); 访问的是 2.php !
而2.php中并没有数据计算
form.php内容如下:
<form action="1.php" method="post" id="myForm" enctype="multipart/form-data" target="hidden_iframe">
<input type="submit" value="生成报表" name="submit">
</form>
<iframe id="hidden_iframe" name="hidden_iframe" src="about:blank" frameborder="0" width="100%" height="600px"></iframe>
<div id="status"></div>
<script type="text/javascript" src="Ajax.js"></script>
1.php内容如下:
<?php
session_start();
for ($i;$i<10;$i++)
{
$_SESSION["temp"]=$i;
sleep(1);
}
?>
2.php内容如下:
<?php
session_start();
echo $_SESSION["temp"];
Ajax.js内容如下:function createRequestObject() {
var http;
if (navigator.appName == "Microsoft Internet Explorer") {
http = new ActiveXObject("Microsoft.XMLHTTP");
}
else {
http = new XMLHttpRequest();
}
return http;
}
function sendRequest() {
var http = createRequestObject();
http.onreadystatechange = function () { handleResponse(http); };
http.send(null);
}
function handleResponse(http) {
var response;
if (http.readyState == 4) {
response = http.responseText;
http.open("GET", "2.php");
document.getElementById("status").innerHTML = response;
if (response < 100000000000000000) {
setTimeout("sendRequest()", 1000);
}
else {
document.getElementById("status").innerHTML = "Done.";
}
}
}
function startUpload() {
setTimeout("sendRequest()", 1000);
} document.getElementById("myForm").onsubmit = startUpload;
我想实现的效果是在form里点击“生成报表”按钮,则会每一秒钟显示一个从0到9的数字。请高手帮助分析下原因,现在点击“生成报表”按钮后未有数字每隔1秒显示出来
那么对不起,你走进死胡同了对于上传进度条,php提供了arc和upload两个扩展,并且php5.4也内置了类似功能
如何写?你搜索一下就知道了你的应用不可能实现的原因在于默认的文件方式的 session
session 临时文件一旦被打开,就不能被其他进程再打开了
对于其他存储方式是否也是这样,没有测试过不好乱说
我想实现的是用Ajax获取1.php文件处理过程的进度(因为1.php是一个比较漫长的过程,可能需要几十秒钟,我想通过Ajax的方式将1.php的处理进度实时的展现给用户)