CodeIgniter - 加载视图问题

Posted

技术标签:

【中文标题】CodeIgniter - 加载视图问题【英文标题】:CodeIgniter - Load View Issue 【发布时间】:2015-12-30 11:23:30 【问题描述】:

以下代码运行正常,没有任何问题,

$this->load->view('profile_js.php', array("js_array"=>$js_array));

突然,上面的代码对某些用户停止工作,当我使用回显文件内容时它开始工作

echo $this->load->view('profile_js.php', array("js_array"=>$js_array), true);

后者适用于所有用户!这么奇怪!出了什么问题?

注意:该文件没有过滤用户/用户类型的条件

【问题讨论】:

为什么你在最后一个参数中使用 true? @devpro 当您传递 true 时,它​​将呈现 html 但不会将其发送到客户端。 OP:你是在一个作为 javascript post 或 get 的函数中这样做的吗? 是的@vaishak 你是对的,添加这个之后,当你 ECHO 或打印这个时它不能正常工作? 好吧,你需要把你的全部功能和你的 profile_js.php 放在这里,以便我们进一步帮助你。我敢肯定,当您提到某些用户确实获得内容而有些人没有获得内容时,您只是错过了一些东西。您是否检查了未获得内容的用户的响应类型是什么? @saurabhkamble .php 没有必要,我明白了。但不会影响申请。 Glubus,基本上除了一些 JS 脚本之外什么都没有。我正在从另一个视图加载视图,这太奇怪了,到目前为止它从未出现过! 【参考方案1】:

尝试传递数据

<?php

class Welcome extends CI_Controller 

   public function index() 

      $js_array = 'some code goes here';

      $data = array(
         'js_array' => $js_array
      );

      // Do not need to use .php for views
      $this->load->view('profile_js', $data);

   


然后在视图上你可以回显 js_array

<?php echo $js_array;?>

更多了解如何将数据从控制器传递到正确的视图

CodeIgniter Controller User Guide

CodeIgniter Views User Guide

【讨论】:

谢谢!我正在从另一个视图加载视图,这太奇怪了,到目前为止它从未出现在我身上!同时它适用于另一个用户而无需 echo 。 刚刚注意到,由于之前的视图文件中出现了一些错误,所以没有加载视图! 解决了,是因为上图出现403错误!! @Vaishak 接受这个答案。这是正确的,它也解决了你的问题 @Vaishak 啊,我以为你可能会忘记。好的

以上是关于CodeIgniter - 加载视图问题的主要内容,如果未能解决你的问题,请参考以下文章

CodeIgniter:如果我使用 die() 函数,视图不会加载

使用 CodeIgniter 加载视图文件夹外的视图

PHP CodeIgniter 加载视图问题,加载完整路径两次

使用 ajax 调用加载视图 codeigniter

Codeigniter 加载页眉和页脚一次

如何将视图加载到另一个视图 codeigniter 2.1?