繁体   English   中英

加载内容 Ajax 不丢失最后的内容

[英]Load content Ajax without lost the last content

我使用 ajax 加载内容而不刷新,但是如果我将 go 转到另一个页面然后我来了,我会丢失我拥有的最后一个内容,我想保存此信息。

现在我有这个

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
 <script>

    $(document).ready(function() {
        var trigger =$('#nav ul li a'),
            container=$('#content');

        trigger.on('click', function() {
            var $this=$(this)
                    target=$this.data('target');
            container.load(target + '.php');
                lastTarget=target;
            return false;
            });
 });
  </script>

<nav id="nav" class="menuNav">
        <div class="logo"> <a href="index.php"> <img width="100px" src="images/logo.png"> </a> </div>
        <ul class="nav-links">
            <?php if(!isset($_SESSION["login"]) && !isset($_SESSION["loginEmpleado"])){ ?>
                <a href="formularioUsuario.php"><li class="nav">  Registrate </li></a>
                <a href="login.php"><li class="nav"> Iniciar Sesion </li></a>
            <?php } else{ ?>
                <li class="navL"><a href="#" data-target="consulta_inmuebles"> Inmuebles </a></li>
                <?php if(isset($_SESSION["loginEmpleado"])){ ?>
                    <li class="navL"><a href="#" data-target="consulta_demandas"> Demandas </a></li>
                    <li class="navL"><a href="#" data-target="consulta_contratos"> Contratos </a></li>
                <?php } if(isset($_SESSION["login"])) {  ?>
                <li class="navL"><a href="#" data-target="usuario"> Usuario </a></li>
                <?php } ?>
                <a href="desconectar.php"><li class="navL"> Cerrar Sesion</li> </a>
            <?php } ?>
        </ul>
    </nav>

<div id="content">
    <div class="bloqueI">
        <h2> Descripcion: </h2>
        <p> Aquí se mostraria informacion general sobre la empresa, asi como los inmuebles existentes. </p>
    </div>
</div>

您需要使用 ajax 导航到您的整个页面或注册用户已经加载的内容 ID,然后在主页上默认加载此内容。

示例(您必须根据您的上下文进行更改):

通过 ajax 获取内容的页面

<?php
session_start();
if(!isset($_SESSION['loaded']))
   $_SESSION['loaded']=array();

loading_content(){

  // loads demands, contracts etc
  if(!in_array($database['demand_id'],$_SESSION['loaded_demands']);
     $_SESSION['loaded_demands'][]=$database['demand_id']; //store on session if it isn't there already
}
?>

您的主页

<?php
session_start();
if(isset($_SESSION['loaded_demands']) && sizeof($_SESSION['loaded_demands'])>0){
    $data = your_database_function("SELECT * FROM table_demands WHERE demand_id IN (".implode(',',$_SESSION['loaded_demands']).")");

    while($result = $data)
      echo 'Data stored => '.$result['column_name'];
}
?>

当你不再需要那个“历史”时,你只需要调用unset($_SESSION['loaded_demand'])

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM