我可以设置一个JavaScript函数在从控制器加载视图时运行吗?


Can I set a JavaScript function to run, while loading its view from a controller?

我正在使用Cakephp,我正在登录我的网站使用我的注销控制器中的索引函数的用户。什么是必需的,当用户登出,我应该能够运行一个javascript登出函数。

我基本上想要一个特定的Javascript函数应该运行时,登录页面从注销控制器加载?要么在控制器中进行更改,要么在目标视图页面的javascript中进行更改。

这是我从注销控制器的索引函数:-

     function index(){
       $isSessionExp = true;
    if( $this->session->userdata('is_sess') )
          $isSessionExp=false;
       $login_session_id = $this->session->userdata('login_session_id');
       $this->login_model->updateLogoutTime($login_session_id);
       $this->session->sess_destroy();
    if($isSessionExp)
       redirect($this->url."/logout/session_expired");
    else
       redirect($this->url."/login");// What I want that I should be able to indicate a particular Javascript function to run after this view is created, ofcourse this behavior should happen only during logout.
     }

在登录类控制器中,我有一个索引函数,它正在加载登录页面。其代码如下:

  class Login extends CI_Controller {
      public function index() {
       if ($this->session->userdata('is_sess'))
           $this->session->sess_destroy();
           $data = array();
           $data['msg'] = null;
           $this->load->view('login', $data);
        }

我基本上想要的是一个特定的Javascript函数应该在登录页面从注销控制器加载时运行。

这是可能的吗?

将你的代码与我的同步

function index($foo = null){
if($foo)
$this->set('just_logged_out','yeah');
// your codes here
}

现在重定向为

redirect($this->uri.'login/index/bar');

现在登录。ctp

if(isset($just_logged_out))
echo 'you have just logged out';

这段代码没有经过测试,但无论是否进行了小的修改,都应该可以工作。如果你得到错误评论我。但是对不起,我现在在手机上。