这是我的代码。我已经尝试过,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');
}
答案 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>