加载内容 Ajax 而不会丢失最后一个内容



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

现在我有这个

<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'])

最新更新