为何取不出正确的的文件内容
我有三个文件,分别是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内容如下:
<script></script>
1.php内容如下:
session_start();
for ($i;$i {
$_SESSION["temp"]=$i;
sleep(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();
}
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 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的处理进度实时的展现给用户)
除了 seeeion,你就不能用其他共享手段传递数据吗?
我是菜鸟,请版主指教
难道没有人会么
哎。用数据库共享数据了

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

JWT是一種基於JSON的開放標準,用於在各方之間安全地傳輸信息,主要用於身份驗證和信息交換。 1.JWT由Header、Payload和Signature三部分組成。 2.JWT的工作原理包括生成JWT、驗證JWT和解析Payload三個步驟。 3.在PHP中使用JWT進行身份驗證時,可以生成和驗證JWT,並在高級用法中包含用戶角色和權限信息。 4.常見錯誤包括簽名驗證失敗、令牌過期和Payload過大,調試技巧包括使用調試工具和日誌記錄。 5.性能優化和最佳實踐包括使用合適的簽名算法、合理設置有效期、

會話劫持可以通過以下步驟實現:1.獲取會話ID,2.使用會話ID,3.保持會話活躍。在PHP中防範會話劫持的方法包括:1.使用session_regenerate_id()函數重新生成會話ID,2.通過數據庫存儲會話數據,3.確保所有會話數據通過HTTPS傳輸。

SOLID原則在PHP開發中的應用包括:1.單一職責原則(SRP):每個類只負責一個功能。 2.開閉原則(OCP):通過擴展而非修改實現變化。 3.里氏替換原則(LSP):子類可替換基類而不影響程序正確性。 4.接口隔離原則(ISP):使用細粒度接口避免依賴不使用的方法。 5.依賴倒置原則(DIP):高低層次模塊都依賴於抽象,通過依賴注入實現。

PHP8.1中的枚舉功能通過定義命名常量增強了代碼的清晰度和類型安全性。 1)枚舉可以是整數、字符串或對象,提高了代碼可讀性和類型安全性。 2)枚舉基於類,支持面向對象特性,如遍歷和反射。 3)枚舉可用於比較和賦值,確保類型安全。 4)枚舉支持添加方法,實現複雜邏輯。 5)嚴格類型檢查和錯誤處理可避免常見錯誤。 6)枚舉減少魔法值,提升可維護性,但需注意性能優化。

在PHPStorm中如何進行CLI模式的調試?在使用PHPStorm進行開發時,有時我們需要在命令行界面(CLI)模式下調試PHP�...

如何在系統重啟後自動設置unixsocket的權限每次系統重啟後,我們都需要執行以下命令來修改unixsocket的權限:sudo...

靜態綁定(static::)在PHP中實現晚期靜態綁定(LSB),允許在靜態上下文中引用調用類而非定義類。 1)解析過程在運行時進行,2)在繼承關係中向上查找調用類,3)可能帶來性能開銷。
