ホームページ >バックエンド開発 >PHPチュートリアル >正しいファイルの内容を取得できないのはなぜですか?

正しいファイルの内容を取得できないのはなぜですか?

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBオリジナル
2016-06-23 14:06:37988ブラウズ

我有三个文件,分别是1.php、2.php和Ajax.js
1.php内容如下


$i= //对变量i进行一系列运算

include("2.php")



2.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也按照规定频率执行请求动作


回复讨论(解决方案)

httpxml.open("get","2.php?t="+Math.random()); //请求地址加个随机数看看

httpxml.open("get"," 1.php");

2.php 只是输出 1.php 计算的结果

加随机数是没有问题的,能体现效果

2楼版主,请问问题在哪呢

不是说了吗?
那么你只访问2.php如何能得到1.php计算的结果呢?

提醒下,在1.php中,是在$i时刻变化的过程中执行include("2.php")的

呵呵,很感谢提醒。但是被提醒的应该是你
你 httpxml.open("get","2.php"); 访问的是 2.php !
而2.php中并没有数据计算

但是 2.php 里有获取变量$i啊?此变量来自1.php的计算

1.php和2.php里$i指的应该是同一变量吧,因为1.php里有include.不知我的理解可对

你确认直接调2.php能获得$i的值?

但是 2.php 里有获取变量$i啊?此变量来自1.php的计算
这么看还是拿出你的详细一些的代码,看一下吧~

不是页面缓存么?

老徐说的很清楚了吧 是1包含了2 你要请求1才能得到结果。。。。没理解include吧

我还是贴出来吧。最终想实现一个Ajax的例子,共4个文件,分别是form.php,1.php,2.php,Ajax.js
form.php内容如下:








1.php内容如下:
session_start();
for ($i;$i<10;$i++)
{
$_SESSION["temp"]=$i;
睡眠(1);
}
?>
2.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();
}
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 = "完了。";
}
}
}
function startUpload() {
setTimeout("sendRequest()", 1000);
}

document.getElementById("myForm").onsubmit = startUpload;

私が実現したいと考えている効果は、フォームのポイントで「テーブルの作成」ボタンを押すと、毎秒 0 から 9 までの数字が表示されることです。钮後未有数字每間隔1秒表示可能

有哪位高手指点下?

我知道你想做什么了(上传进度条)

那么对不起,你走进死胡同了

上传进度条、php arc と upload の 2 つの拡張機能が提供され、php5.4 にも同様の機能が組み込まれています。起動されましたが、他のプロセスによって再起動することはできません
他の保存方法でも同様であるかどうか、不好乱说

版主、我确实现類類似条項の機能はありませんが、文書上で転送されるものではありません条。 (文件上传进度条的实现方式我过承知)
我想实现的是Ajax获取1.php文件処理过程(故に1.phpは一比较漫长的过程、可能性几十秒钟,我想Ajax による方式将 1.php の処理进度实時の展示现给用户)

除了 seeeion,你就不用他共享手段传递数据吗?

我是菜鸟,请版主指教

人間会

哎。データベースを使用してデータを共有しています

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。