让我说我有这个代码
$itemtoDisplayTime = $model->getItemTime() // e.g 03:00pm
$currentTime = date('H:i'); //this is the system clock/time
使用javascript自动完成重定向过程而不必刷新页面是否合适? 如果是这样,怎么样?
让我们说$ itemDisplayTime现在等于$ currentTime,如果可能的话,如何在javascript或jquery中使用这些变量
答案 0 :(得分:2)
首先计算应重定向的秒数。然后使用以下方法中的秒。
对于你的情况,strtotime可能有用。
$seconds = strtotime($itemtoDisplayTime) - time();
有几种方法可以重定向,
从PHP发送Refresh
标题。
header("Refresh: $seconds; url=$url");
使用Javascript
window.setTimeout(function(){
location.href="desired url";
}, seconds*1000);
答案 1 :(得分:0)
为什么要使用javascript,当你可以使用php来做到这一点,试试这种方式
if($itemDisplayTime==$currentTime)
header( "refresh:0;url=yourpage.php" );
答案 2 :(得分:0)
根据您的目标,我会说有两种可能的解决方案。
如果要刷新页面来执行数据库任务,我建议如果您的主机支持cron-jobs。因为那时你可以关闭你的计算机并且任务自己在服务器端运行,其中一个例子就是:(在主机网站上选择时间)
php -q /home/path_to_file/your_link.php >/dev/null 2>&1
如果这是出于其他目的而你必须使用ajax;因为如果你使用getItemTime我认为它只会在页面首次加载时得到它一次,你需要每隔几分钟继续调用以重新执行java函数并重新检查时间但是这会进入很多更复杂的解决方案。如果你想尝试这种方式,请更详细地解释你想要做的任务,我可以制作具体的代码。