CodeIgniter:从嵌入视图重定向

CodeIgniter: redirect from embed view

我在嵌入视图中遇到重定向问题。

我正在从事一个安全非常重要的项目。我使用 codeigniter 和 bootstrap。我有主视图,其中包括导航栏和其他一些 html。在该主视图中,我有 <div id="change">,我正在通过按钮组进行更改。使用这些按钮,我使用 jQuery 调用控制器中的函数,其中(控制器中的函数)包含 $this->load->view('pages/something', $data); 当我按下其中一个按钮时, <div id="change"> 被更改并在其中显示一个视图并且 link 没有改变,所以主视图保持原样。

<script>
var vari = "<?php echo $data['vari']; ?>";
$(function() {
    $("#btn1").click(function() {
        $("#change").load("Controller/function1/"+vari)
    })
    $("#btn2").click(function() {
        $("#change").load("Controller/function2/"+vari)
    })
    $("#btn3").click(function() {
        $("#change").load("Controller/function3/"+vari)
    })
    $("#btn4").click(function() {
        $("#change").load("Controller/function4/"+vari)
    })
    $("#btn5").click(function() {
        $("#change").load("Controller/function5/"+vari)
    })
})

当我在其中一个嵌入视图中执行操作时,有时我想使用 redirect('/Controller', 'refresh');。问题是,当我使用它时,只是更改了嵌入视图 - 重定向,但带有导航栏和按钮组的主视图仍然存在。

我如何实现,当我在 "embed controller function" 中调用 redirect() 时,主视图发生了变化,而不仅仅是 <div id="change">。这可能吗?如果不是我的方法 - 有什么替代解决方案,如何从 "embed controller function" 重定向整个页面(抱歉,我不知道如何命名这个 =D)。

如有任何帮助,我将不胜感激。谢谢!

如果您想将用户重定向到另一个页面,您可以使用以下方法

var url = 'your/next/page';
$(location).attr('href',url);

不使用jQuery你也可以

window.location.href = url;