我想在javascript / jQuery中创建一个函数,它使用php脚本刷新我网站上的一些数据。我这样使用它:
function aval()
{
...
$("#dost").load("readadmin.php?date="+dzien+"&diff="+diff+"&dtyg="+d);
setTimeout(aval,200);
}
其中#dost引用我网站末尾的某个div
然后,我的readadmin.php文件如下所示:
<?php
$diff=$_GET["diff"];
$name = $_GET["date"];
$dtyg = $_GET["dtyg"];
$plik = fopen("myfile","r");
$tekst = fread($plik,filesize("myfile"));
fclose($plik);
$bookings = explode(";;;;", $tekst);
for ($i=0; $i<(sizeof($bookings)-1); $i++)
$data[$i] = explode(":::",$bookings[$i]);
echo "<script>";
// here I'm echoing some javascript code, that basically changes styles on my page,
//depending on my variables and data from a file
echo "</script>";
?>
另外,在我的网站(admin.php)上我使用登录,所以我的网站看起来像这样:
<?php
session_start();
if(!session_is_registered('pass'))
header('location: login.php');
?>
...html code
的login.php:
..something not important, forms to get $_POSTs etc..
<?php
if ($_POST["login"] == $login && $_POST["pass"] == $pass)
{
session_register('login');
session_register('pass');
header("location: admin.php");
}
?>
现在,一切都适用于Chrome或Firefox,但不适用于IE。当我更改文件中的数据时,IE不会对此作出反应,并继续显示旧数据。当我在readadmin.php的开头和结尾放置session_start()和session_destroy()时,数据正确刷新,但无论我做什么操作,它都会将我记录下来。这里没什么奇怪的,我每隔200ms开始一次新的训练,所以我被踢了。
还有一件事:当我从站点更改到readadmin.php的数据时,它会显示正确的数据,然后立即更改为旧数据。
请帮忙。
答案 0 :(得分:0)
您可以将时间戳添加到网址,以便浏览器不会缓存文件:
$("#dost").load("readadmin.php?date="+dzien+"&diff="+diff+"&dtyg="+d+"&t="+Date.now());