codeigniter,set_flashdata('abc','hi);

时间:2010-12-14 13:33:43

标签: ajax session codeigniter

我在我的项目中使用codeigniter。

页面刷新时

在控制器页面中,

$this->session->set_flashdata('abc', 'hi);

在视图页面中, 回声

$this->session->flashdata('abc'); 

工作正常。

但是,当ajax调用时,不是页面刷新, 控制器,

 $this->session->set_flashdata('abc', 'hi);

查看,

echo $this->session->flashdata('abc'); 

不起作用.....

什么都不回应〜-_-; ajax没有捕获会话闪存数据的机制?

任何想法?

3 个答案:

答案 0 :(得分:3)

闪存数据存储到下一个http请求。

如果您需要更长时间使用:

$this->session->keep_flashdata('item');

答案 1 :(得分:0)

你可能不应该使用flashdata

你只需回声。回声应来自您的控制器方法。并且您的javascript接受回复应该将其插入到您网页的元素中。

答案 2 :(得分:0)

您的Ajax调用只会输出控制器/方法打印到输出缓冲区的任何内容。所以如果你添加

echo $this->session->flashdata('abc'); 

到由Ajax方法调用的控制器,它将回显到Ajax方法,然后您可以在页面上显示该方法。视图中的echo语句只有在刷新页面时才会执行,因为PHP必须在运行时在服务器上编译echo语句,然后将结果返回给浏览器。