【问题标题】:ERR_CACHE_MISS error in codeigniter when click backbutton单击后退按钮时,代码点火器中的 ERR_CACHE_MISS 错误
【发布时间】:2017-06-25 08:21:50
【问题描述】:

我使用 codeigniter 创建了一个小型 Web 应用程序。但有时当我单击返回按钮时会显示此错误消息。我应该怎么做才能避免这件事? 确认重新提交表单

此网页需要您之前输入的数据才能正确显示。您可以再次发送此数据,但这样做会重复此页面之前执行的任何操作。 按重新加载按钮重新提交加载页面所需的数据。 ERR_CACHE_MISS 这是我的主控制器的一部分

<?php

ob_start();
defined('BASEPATH') OR exit('No direct script access allowed');

    class Home extends CI_Controller {
        public function __construct()
         {
              parent::__construct();
              $this->load->library('session');
              $this->load->helper('form');
              $this->load->helper('url','html');
              $this->load->helper('html');
              $this->load->database();
              $this->load->library('form_validation');


              $this->load->model('Login_model');
              $this->load->model('Select');
              $this->load->model('ProjectEmployees');
              $this->load->model('Employee_model');
              $this->load->model('Welcome_model','welcome');
              $this->load->model('Welcome_model4','welcome4'); 
              $this->load->model('Welcome_modelPI','welcomePI');




         }
         function index()
      { 


        $this->load->view('login_view');


      }

      function logout()
      {
        // destroy session
            $data = array('login' => '', 'uname' => '', 'uid' => '');
            $this->session->unset_userdata($data);
            $this->session->sess_destroy();
        redirect('Home/index');
      }


    public function MyHome()
    {   
        $this->load->view('template/navigation');
            $this->load->view('template/sideNav');
            $this->load->view('template/header');
        $this->load->view('profile_view2');
         $this->load->view('template/footer');
    }

【问题讨论】:

    标签: codeigniter


    【解决方案1】:

    这是因为您使页面到期而不将缓存标头发送到浏览器。这就是为什么浏览器不缓存这些页面并且当你回击浏览器显示 ERR_CACHE_MISS 而不是你的 html 视图时..

    ERR_CACHE_MISS(屏幕):

    1. 确保您没有发送过期缓存标头

    2. 确保您的页面不会被浏览器缓存阻止

    3. 在浏览器网络面板中检查您的响应标头,以查看标头 被Server传递

    4. 检查您是否在您的 代码/控制器/挂钩。

    这里有一些 CodeIgniter 缓存过期标头代码示例..

    $this->output->set_header('Last-Modified: ' . gmdate("D, d M Y H:i:s") . ' GMT');
    $this->output->set_header('Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0');
    $this->output->set_header('Pragma: no-cache');
    $this->output->set_header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); 
    

    【讨论】:

    • 非常感谢辛格先生。我应该把这段代码放在哪里?我没有在 myanyof 控制器中使用 $this->output->set_header() this
    • @Dushee 你能在这里分享你的视图和控制器代码来理解这个问题吗..
    • Mr.Singh 我添加了我的控制器。很抱歉,我不知道缓存是什么。非常感谢您的帮助
    • @Dushee,你的控制器看起来不错。如果没有完整的信息,很难猜测代码在哪里以及为什么会中断。但你仍然可以给一个机会。检查您是否使用重定向登录而不是登录用户,检查您是否设置了没有任何输出的方法。检查 ERR_CACHE_MISS 页面 url 是否有任何输出或要显示的视图.. 您可以共享屏幕截图和浏览器 url 并了解其中断的方式和时间..
    • Mr.Singh 我的小型 Web 应用程序具有提交数据的表单和查看这些数据的表格。此错误仅发生在表单提交视图中。其他视图运行良好
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-08
    • 2018-11-02
    • 2020-02-25
    • 1970-01-01
    • 1970-01-01
    • 2016-03-15
    相关资源
    最近更新 更多