Actualizar datos de div con ajax

Mensajes
15
Puntuación de reacción
0
Hola tengo un prblema con mi web al momento de paginar, al pasar a lasiguiente pagina en el div donde deveria de cargar el contenido de lasiguiente pagina carga mi la web osea la pagina dentro de el div.

Ese es el codigo:
PHP:
<script>
    function load(page){
        var parametros = {"action":"ajax","page":page};
        $.ajax({
            url: location.href,
            data: parametros,
            success:function(data){
                $(".contenedor").html(data).fadeIn('fast');
            }
        })
    }
</script>


Y este el que pagina:

PHP:
<div class="contenedor">
  <div class="row pagesection">
   <?php
     foreach ($this->var->list_thesis->data as $key => $thesis) {
     //Aqui  el contenido extraido de labase de datos.
    }
   ?>
     <div class="pagination justify-content-center">
      <?php echo paginate($page, $total_pages, $adjacents);?>
     </div>
   </div>
</div>

Sin título.jpg
 
Última edición:
Mensajes
303
Puntuación de reacción
0
Estás cometiendo un error, vamos a aclarar dos conceptos primordialmente.

JavaScript es un lenguaje frontend ejecutado en el lado de la máquina del cliente. Ajax es una función desarrollada en JS (muy útil), que de igual manera se ejecuta en la máquina del cliente.

Y PHP es un lenguaje backend, se ejecuta en el servidor, esto quiere decir que la web refleja el producto de las instrucciones ejecutadas en el php en el servidor.

Ahora:
PHP:
<div class="contenedor"> 
  <div class="row pagesection"> 
   <?php 
     foreach ($this->var->list_thesis->data as $key => $thesis) { 
     //Aqui  el contenido extraido de labase de datos.                <--- Esto no lo hará   
    } 
   ?> 
     <div class="pagination justify-content-center"> 
      <?php echo paginate($page, $total_pages, $adjacents);?> 
     </div> 
   </div> 
</div>

Para poder extraer ese contenido de la base de datos debes hacerle un POST al servidor y este responderá con el contenido en la base de datos.

Ejemplo index.php:
PHP:
<div id="prueba">  
<?php
require("procesar_tabla.php");
?> 
</div>     
      <span >
          <button   class="btn-block btn btn-danger " type="button" onclick="enviarAjax1()">Boton 1</button>
      </span>

function enviarAjax1()
{
    	
  	var xhttp = new XMLHttpRequest();
  	xhttp.onreadystatechange = function() {
    	if (xhttp.readyState == 4 && xhttp.status == 200) 
	{
    		document.getElementById("prueba").innerHTML = xhttp.responseText;
    	}
  };
  	xhttp.open("POST", "procesar_tabla.php", true);
  	xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  	xhttp.send("boton="+"btn1");
}

El procesar_tabla.php puede ser un php alojado en la misma carpeta del index en el servidor que al ser ejecutado responda con los valores de la base de datos que se necesiten actualizar en el index.

Creo que con eso resuelves.
Saludos!
 
Mensajes
15
Puntuación de reacción
0
Estás cometiendo un error, vamos a aclarar dos conceptos primordialmente.

JavaScript es un lenguaje frontend ejecutado en el lado de la máquina del cliente. Ajax es una función desarrollada en JS (muy útil), que de igual manera se ejecuta en la máquina del cliente.

Y PHP es un lenguaje backend, se ejecuta en el servidor, esto quiere decir que la web refleja el producto de las instrucciones ejecutadas en el php en el servidor.

Ahora:
PHP:
<div class="contenedor"> 
  <div class="row pagesection"> 
   <?php 
     foreach ($this->var->list_thesis->data as $key => $thesis) { 
     //Aqui  el contenido extraido de labase de datos.                <--- Esto no lo hará   
    } 
   ?> 
     <div class="pagination justify-content-center"> 
      <?php echo paginate($page, $total_pages, $adjacents);?> 
     </div> 
   </div> 
</div>

Para poder extraer ese contenido de la base de datos debes hacerle un POST al servidor y este responderá con el contenido en la base de datos.

Ejemplo index.php:
PHP:
<div id="prueba">  
<?php
require("procesar_tabla.php");
?> 
</div>     
      <span >
          <button   class="btn-block btn btn-danger " type="button" onclick="enviarAjax1()">Boton 1</button>
      </span>

function enviarAjax1()
{
    	
  	var xhttp = new XMLHttpRequest();
  	xhttp.onreadystatechange = function() {
    	if (xhttp.readyState == 4 && xhttp.status == 200) 
	{
    		document.getElementById("prueba").innerHTML = xhttp.responseText;
    	}
  };
  	xhttp.open("POST", "procesar_tabla.php", true);
  	xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  	xhttp.send("boton="+"btn1");
}

El procesar_tabla.php puede ser un php alojado en la misma carpeta del index en el servidor que al ser ejecutado responda con los valores de la base de datos que se necesiten actualizar en el index.

Creo que con eso resuelves.
Saludos!
Gracias Carlos lo hace algo parecido pero allí estaba la lógica :D
 
Mensajes
303
Puntuación de reacción
0
Claro vas encaminado pero de la forma en que lo estabas haciendo no lo iba a ejecutar jejeje, de manera separada sí, haciendo solicitudes post es una de las vías. Saludos
 
Arriba