如何在 CodeIgniter 中完全刷新页面?

Posted

技术标签:

【中文标题】如何在 CodeIgniter 中完全刷新页面?【英文标题】:How do I fully refresh the page in CodeIgniter? 【发布时间】:2012-10-03 12:31:28 【问题描述】:

我正在叠加层中加载一个表单。叠加层对调用叠加层的页面有单独的控制器和操作。

在表单提交时,如果成功,我只想重新加载加载叠加层的引用页面。我可以加载引用页面,但它会将内容放在叠加层内。

header("Location: www.example.com", true, 302);

不工作。

像这样使用 URL 助手:

$url = $_SERVER['HTTP_REFERER'];
redirect($url);

也不起作用。每次它加载到叠加层中。我为此感到难过。

【问题讨论】:

你用什么做覆盖?如果您使用的是新窗口,那么您将无法尝试刷新主页。你应该使用花式盒子或灯箱之类的东西。 有点模糊。单独调用这个引用页面,覆盖有没有? 顺便说一句,避免使用HTTP_REFERER。它在所有浏览器中都不一致,您的代码可能会中断。 叠加层是如何生成的? 【参考方案1】:

你可以使用这段代码在codeigniter中刷新:

redirect($_SERVER['REQUEST_URI'], 'refresh'); 

应该可以了!

【讨论】:

它可以工作,但如果我想通过刷新消息继续执行特定功能怎么办。这里很混乱。我的问题是 link 。 @jasmeen,菲利普 G 和 Deepti【参考方案2】:

这个比较简单

重定向($this->uri->uri_string());

【讨论】:

如果uri中有参数怎么办?【参考方案3】:

很遗憾,使用header 刷新/重定向只会反映显示 php 页面的容器中的更改。

要刷新父页面(即显示叠加层本身的页面),您需要在客户端使用 javascript 进行刷新。这些问题应该可以帮助您走上正确的道路:

Redirect parent window from an iframe action PHP "header (location)" inside IFRAME, to load in _top location?

【讨论】:

【参考方案4】:

你可以使用这段代码在codeigniter中刷新:

redirect($_SERVER['REQUEST_URI'], 'refresh'); 

希望这会有所帮助。

【讨论】:

您可以将 $_SERVER['REQUEST_URI'] 更改为您想要的任何网址。【参考方案5】:

您不必为header 提供额外的两个参数。只需使用这种模式:

header('Location: www.somewhere.com');

另外,看看这篇关于类似问题的文章:

Redirect with CodeIgniter

【讨论】:

【参考方案6】:
redirect(site_url(strtolower(__CLASS__)));

【讨论】:

【参考方案7】:

只是

redirect('/some_url', 'refresh');

【讨论】:

更多详情请见:***.com/questions/723883/redirect-with-codeigniter【参考方案8】:

这个对每个人来说都更简单:) location.reload()

【讨论】:

这是 jquery 不是 php 这是原生 javascript,不是 jquery

以上是关于如何在 CodeIgniter 中完全刷新页面?的主要内容,如果未能解决你的问题,请参考以下文章

如何在CodeIgniter中刷新当前页面

PHP 如何在CodeIgniter中刷新当前页面

使用jQuery AJAX请求CodeIgniter从Controller显示数据库中的数据到View而不刷新页面

CodeIgniter 3 会话在页面刷新后销毁

Codeigniter 应用程序在首次加载时显示 404,刷新后显示实际页面

刷新当前页面-CodeIgniter