Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/446.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 当从控制器加载JavaScript函数的视图时,是否可以将其设置为运行?_Php_Javascript_Cakephp 2.0 - Fatal编程技术网

Php 当从控制器加载JavaScript函数的视图时,是否可以将其设置为运行?

Php 当从控制器加载JavaScript函数的视图时,是否可以将其设置为运行?,php,javascript,cakephp-2.0,Php,Javascript,Cakephp 2.0,我正在使用Cakephp,我正在使用注销控制器中的索引函数从我的网站注销用户。当用户注销时,我应该能够运行javascript注销功能 我基本上希望在从注销控制器加载登录页面时运行特定的Javascript函数是什么?可以在控制器中进行更改,也可以在目标视图页面的javascript中进行更改 以下是注销控制器的索引函数:- function index(){ $isSessionExp = true; if( $this->session->use

我正在使用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');
现在登录到login.ctp

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

此代码未经测试,但应在进行或不进行微小修改的情况下工作。如果您遇到错误,请评论我。但很抱歉,我现在正在使用手机。

重定向($this->url。“/login?foo”);然后在生成此视图的控制器中,只需检查请求变量并回显正确的js。这太容易了。登录后的功能代码。您是否正在尝试在login.ctp中添加脚本?这与您的登录或注销逻辑无关。但正如您的代码所说,您必须有一个名为login的函数。给我看看函数的定义。像
公共函数登录($arg1,$arg2){//我不想要你放在这里的东西}
。我只是想看看他们有多大的争议是的,你是对的。但您应该传递变量,比如
redirect($this->uri.login/bar')
然后检查我的想法,用户使用facebook登录后,我会在会话中设置这是facebook登录。按下注销按钮时,注销控制器将检查会话,如果发现这是Facebook登录,它将重定向到重定向($this->uri.login/index/bar'),否则它将只是重定向($this->url.“/login”)。然后根据url中的bar值,我将调用函数来进行Javascript注销。你的回答对我帮助很大。谢谢