【问题标题】:Codeigniter + Angular Js: How to keep flashdata?Codeigniter + Angular Js:如何保存 flashdata?
【发布时间】:2014-04-30 12:28:30
【问题描述】:

情况是这样的:

我正在使用 Codeigniter + Angular Js 制作一个简单的应用程序。

我使用 Angular 进行了客户端验证,使用 Codeigniter 进行了服务器端验证。 两者都工作正常,除了一件非常重要的事情:我无法显示来自服务器端验证的 flashdata 消息。

可能会重定向到登录页面,它需要一个以上的服务器请求,然后 flashdata 就会丢失。

这就是我所做的:

在 codeigniter 控制器中:

$this->session->set_flashdata('errors', 'Username/password combination not correct');
$this->session->keep_flashdata('errors');
redirect('#/login');

在视图中:

<?php 
      echo validation_errors(); 
      if ($this->session->flashdata('errors')) 
      { 
         echo '<p>' . $this->session->flashdata('errors') . '</p>';
      }
?>

阅读 StackOverflow 和 Google 认为该解决方案将使用:

$this->session->keep_flashdata

但在我的情况下不起作用。

这是问题:

如何为多个服务器请求保留 flashdata?

我无法加载视图,因为我在 Angular js 部分内部,所以我必须重定向。但我必须能够不惜一切代价保留闪存数据。

【问题讨论】:

    标签: javascript php angularjs codeigniter validation


    【解决方案1】:

    不要在同一个函数中添加$this-&gt;session-&gt;keep_flashdata('errors');,而是在控制器的构造函数中添加this。这将为另一个服务器请求保留 flashdata,以便以后使用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-07-28
      • 1970-01-01
      • 2016-03-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多