gpt4 book ai didi

php - symfony 每两秒从一个页面重定向到另一个页面

转载 作者:搜寻专家 更新时间:2023-10-31 21:23:45 26 4
gpt4 key购买 nike

我想从页面索引重定向到幻灯片 1 到幻灯片 2,然后每 5 秒重定向到幻灯片 3。我怎样才能做到这一点。到目前为止,我使用此文档尝试此操作:http://symfony.com/doc/3.1/components/http_foundation.html#redirecting-the-user

并从这个问题中得到帮助:

How to auto redirect a user in Symfony after a session time out?

在 Controller 中:

/**
* Bisdisp slide show preview action
*
* @param int $id
* @Route("/bisdisp/{id}/slideshow/", name="_get_bisdisp_slideshow", requirements={"id" = "\d+"})
* @Template()
*/
public function slideshowAction($id)
{
$power_plant = $this->getPowerPlant($id);
$response = new RedirectResponse($this->generateUrl('_get_bisdisp_slide1', [ 'id' => $id ]));
// $response->headers->set('Refresh', 5);

return $response;
}

/**
* Slide 1 view
*
* @param int $id
* @Route("/bisdisp/{id}/slideshow/slide1/", name="_get_bisdisp_slide1", requirements={"id" = "\d*"})
* @Template()
*/
public function slide1Action($id)
{
$power_plant = $this->getPowerPlant($id);
$response = new RedirectResponse($this->generateUrl('_get_bisdisp_slide2', [ 'id' => $id ]));
// $response->headers->set('Refresh', 5);

return $response;
}

/**
* Slide 2 view
*
* @param int $id
* @Route("/bisdisp/{id}/slideshow/slide2/", name="_get_bisdisp_slide2", requirements={"id" = "\d*"})
* @Template()
*/
public function slide2Action($id)
{
$power_plant = $this->getPowerPlant($id);
$response = new RedirectResponse($this->generateUrl('_get_bisdisp_slide3', [ 'id' => $id ]));
// $response->headers->set('Refresh', 5);

return $response;
}

进入我的观点:

<meta http-equiv="refresh" content="5">
{% block content %}
<h3>Slide index</h3>
{% endblock %}

<meta http-equiv="refresh" content="5">
{% block content %}
<h3>Slide 1</h3>
{% endblock %}

<meta http-equiv="refresh" content="5">
{% block content %}
<h3>Slide 2</h3>
{% endblock %}

最佳答案

首先你不应该从你的 View 中刷新页面,所以你需要删除<meta http-equiv="refresh" content="5"> .

然后你可以做类似的事情:

private function getRedirectLater($url, $seconds=5)
{
$response = new Response;
$response->headers->set('Refresh', $seconds.'; url='. $url);

return $response;
}

/**
* Bisdisp slide show preview action
*
* @param int $id
* @Route("/bisdisp/{id}/slideshow/", name="_get_bisdisp_slideshow", requirements={"id" = "\d+"})
* @Template()
*/
public function slideshowAction($id)
{
$power_plant = $this->getPowerPlant($id);

return $this->getRedirectLater($this->generateUrl('_get_bisdisp_slide1', [ 'id' => $id ]));
}

/**
* Slide 1 view
*
* @param int $id
* @Route("/bisdisp/{id}/slideshow/slide1/", name="_get_bisdisp_slide1", requirements={"id" = "\d*"})
* @Template()
*/
public function slide1Action($id)
{
$power_plant = $this->getPowerPlant($id);

return $this->getRedirectLater($this->generateUrl('_get_bisdisp_slide2', [ 'id' => $id ]));
}

/**
* Slide 2 view
*
* @param int $id
* @Route("/bisdisp/{id}/slideshow/slide2/", name="_get_bisdisp_slide2", requirements={"id" = "\d*"})
* @Template()
*/
public function slide2Action($id)
{
$power_plant = $this->getPowerPlant($id);

return $this->getRedirectLater($this->generateUrl('_get_bisdisp_slide3', [ 'id' => $id ]));
}

关于php - symfony 每两秒从一个页面重定向到另一个页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40841146/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com