在重定向之前加载JavaScript(CodeIgniter)

时间:2014-09-23 09:24:24

标签: javascript php codeigniter

这是我的代码。我已经尝试过,flush(); window_location ..但它仍然失败。我该怎么办?我还测试了$ result的值是否正在通过并且它没问题。唯一的问题是JavaScript没有加载。我有其他代码与这种编码结构,但工作正常,并在加载前显示JavaScript。

function accsettings()
{
    $this->load->model('admin_model');
    $result = $this->admin_model->accsettings();

    if ($result==0)
    {
        echo '
            <script type="text/javascript">
                alert("Congratulations! Your profile has been updated.");
            </script>
            ';
        $res2 = $this->admin_model->accset_audit();

    }
    else if ($result==1)
    {
        echo '<script type="text/javascript"> alert("Error! Current password is not correct."); </script>';
    }
    else
    {
        echo '<script type="text/javascript"> alert("New password does not match with the confirmation."); </script>';
    }
    redirect('/main/accsettings');
}

2 个答案:

答案 0 :(得分:0)

我不建议这种方式显示“JavaScript”警告消息,如果要显示验证消息,请设置变量控制器并检查视图。

在您的代码中,您使用header位置方法重定向未在浏览器上显示结果的页面。

请使用refresh方法在浏览器上显示缓冲区结果

redirect('/main/accsettings', 'refresh');
//similar to 
header( "refresh:0;url=/main/accsettings" );

答案 1 :(得分:0)

当您希望执行此操作时,您也应该在javascript中进行重定向。

以下是您如何实现这一目标:

<script type="text/javascript"> 
    alert("Error! Current password is not correct.");
    setTimeout(function () {
        window.location.href = "http://www.google.nl"; //will redirect to google.
    }, 2000); //will call the function after 2 secs.
</script>