我被强制刷新文件(html)后fwrite显示更改

时间:2017-05-26 12:15:24

标签: javascript php fwrite

一般视图:

我在我的服务器(http://example.com/stock_order.html)上的文件中写了一个简单的html表,然后将文件url返回给Javascript  使用ajax在新tab中打开。这是我的代码:

PHP:

   $newfile = fopen($_SERVER['DOCUMENT_ROOT']."/stock_order.html","w+") or    die("Unable to open file!");
    $txt ='';
    $txt .='Here i put table data'; 
    fwrite($newfile, $txt);
    fclose($newfile);
    $link = "http://www.webber.solutions/stock_order.html";
    echo $link;

JS:

	 $.ajax({
	url: "index.php?route=sale/print/printStock&token=<?php echo $token; ?>",
	type: "post",
	data: {ids:ids},
	cache: false,
	}).done(function( data ) {
       // using url from php i open a new tab here
	window.open(data , '_blank');
	});

问题: 数据正在文件中正确写入,但有一些延迟,这意味着当重定向到html文件时,文件内容是旧数据,新写入的数据仅在我手动刷新页面时显示。

我试图在fwrite之后延迟1-2秒,仍然没有变化。

这个服务器有关系吗?或者我的代码有问题? 请帮忙

2 个答案:

答案 0 :(得分:0)

它最有可能是浏览器缓存,而不是“旧”文件尝试更改网址:

echo "http://www.webber.solutions/stock_order.html?t=".time();

或类似的东西以避免缓存

答案 1 :(得分:0)

您可以在打开窗口后刷新页面,如下所示:

$.ajax({
    url: "index.php?route=sale/print/printStock&token=<?php echo $token; ?>",
    type: "post",
    data: {ids:ids},
    cache: false,
    }).done(function( data ) {
       // using url from php i open a new tab here
    window.open(data , '_blank');
    document.location.reload(true);
    });