一般视图:
我在我的服务器(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秒,仍然没有变化。
这个服务器有关系吗?或者我的代码有问题? 请帮忙
答案 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);
});