【问题标题】:PHP refreshing using jQuery doesn't work in IE使用 jQuery 刷新 PHP 在 IE 中不起作用
【发布时间】:2016-06-02 20:55:05
【问题描述】:

我想在 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

登录.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 不会对此做出反应,并继续显示旧数据。当我将 session_start() 和 session_destroy() 放在 readadmin.php 的开头和结尾时,数据会正确刷新,但无论我做什么,它都会让我退出。这里没什么奇怪的,我每 200 毫秒开始一个新会话,所以我被踢了。

还有一件事:当我更改从站点转到 readadmin.php 的数据时,它会显示正确的数据,然后立即更改为旧数据。

请帮忙。

【问题讨论】:

标签: javascript php jquery html internet-explorer


【解决方案1】:

你可以给 url 添加时间戳,这样浏览器就不会缓存文件了:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-11-24
    • 2012-12-26
    • 1970-01-01
    • 1970-01-01
    • 2015-06-10
    • 1970-01-01
    相关资源
    最近更新 更多