简体   繁体   English

使用jQuery刷新PHP在IE中不起作用

[英]PHP refreshing using jQuery doesn't work in IE

I wanted to create a function in javascript/jQuery, that uses php script to refresh some data on my website. 我想在javascript / jQuery中创建一个函数,该函数使用php脚本刷新我网站上的一些数据。 I'm using it like this: 我正在这样使用它:

function aval()
{
...
$("#dost").load("readadmin.php?date="+dzien+"&diff="+diff+"&dtyg="+d);
setTimeout(aval,200);
}

where #dost refers to some div at the end of my site 其中#dost指向网站末尾的div

Then, my readadmin.php file looks like this: 然后,我的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>";

    ?>

Also, on my site (admin.php) I use login, so my site looks like this: 另外,在我的网站(admin.php)上,我使用登录名,因此我的网站如下所示:

<?php
session_start();
if(!session_is_registered('pass'))
header('location: login.php');

?>
...html code

login.php: 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");
        }
    ?>

Now, everything works great on Chrome or Firefox, but not on IE. 现在,一切都可以在Chrome或Firefox上正常运行,但不能在IE上运行。 When I change data in my file, IE doesn't react to this, and keep displaying old data. 当我更改文件中的数据时,IE不会对此做出反应,并继续显示旧数据。 When I put session_start() and session_destroy() at the begining and end of readadmin.php, then data is refreshing properly, but whatever action I do, it logs me out. 当我在readadmin.php的开头和结尾处放置session_start()和session_destroy()时,数据会正确刷新,但是无论我执行什么操作,它都将我注销。 Nothing strange here, I start a new session every 200ms so I get kicked. 没什么奇怪的,我每200ms开始一个新的会话,所以我被踢了。

One more thing: when I'm changing data that goes to readadmin.php from site, it displays proper data back, and then immediately changes to old data. 还有一件事:当我更改从站点转到readadmin.php的数据时,它会向后显示正确的数据,然后立即更改为旧数据。

Please help. 请帮忙。

您可以将时间戳添加到url,以便浏览器不会缓存该文件:

$("#dost").load("readadmin.php?date="+dzien+"&diff="+diff+"&dtyg="+d+"&t="+Date.now());

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM