Nueva pregunta

Pregunta:

Fecha: 06-02-2018 10:49:31 (En Español)

¿Cómo cargar portlets sin recargar la página?[No resuelta]

Estoy realizando un proyecto MVC utilizando una plantilla Metronic, necesito que al pinchar en un menú me cargue correctamente el portlet con los datos que van dentro, sin que se recargue la página

Ahora tengo un index.php que al abrir la primera vez carga un menú y y en la parte central esta vacío, hasta aquí bien. Al pinchar por ejemplo en clientes quiero que me cree un portlet de clientes con los datos de estos, y sin pincho en Nuevo Cliente me cree otro portlet con estos datos. Esta parte la consigo a través de un ajax que he creado yo y que llamo cuando se pincha en los menús o botones (Ej: Clientes, Nuevo cliente).

El problema lo tengo en que el portlet no me carga correctamente, no muestra el paginador, el buscador ni el selector de cuantos productos quiero que muestre. Estas 3 opciones las carga a través de los ajax asociados a la plantilla, pero al ejecutar antes el ajax que yo he creado esas partes no me aparecen.

Sin embargo si yo copio ese portlet directamente en index.php me carga correctamente el portlet.

Veo que el problema lo tengo en que justo ese ajax que tiene que cargar esas 3 opciones, por alguna razón no carga.

Mi pregunta es: Cual es la forma correcta de añadir un portlet al pinchar en un menú y que al hacer clic en otro menú se cargue otro portlet, pero la página no se recargue y que además los ajax que vienen por defecto en la plantilla carguen correctamente?

He intentado copiar 2 fotos para que veáis mejor lo que me ocurre, pero no he sabido.

Espero haberme explicado bien y que me podáis entender.

Muchas gracias.


Un saludo
Etiquetas: AJAX - HTML - HTML5 - Javascript - JQuery - MVC - PHP Votos: 0 - Respuestas: 1 - Vistas: 8 Compartir en: Google Facebook Twitter LinkedIn Link
 

Respuestas:

  • Fecha: 09-02-2018 18:08:42 Ingresé a la plantilla https://keenthemes.com/metronic/ y veo que utiliza Angular 5. No estoy familiarizado con Angular pero en el caso que el problema sea solo JQuery creo que radicaría en que estás administrando mal los eventos.

    Por experiencia te aconsejo que si una plantilla te trae dolores de cabeza la abandones y compres una nueva. Ese tipo de plantillas no fueron desarrolladas para manejarlas fácilmente sino para volvernos dependientes de su soporte técnico.
    Hay plantillas más económicas y muchísimo más fácil de manejar. Evito utilizar Angular.
    Visita: https://wrapbootstrap.com/themes/admin

    En caso en que te pueda ayudar...

    1) Si estás utilizando PHP es recomendable que el primer ajax no lo uses, sino que al solicitar el index.php le brindes los datos al cargar la página (lista limitada de clientes, datos para el paginador, etc). De esta manera estarás economizando recursos.

    2.a) Si tienes que agregar un formulario no es necesario utilizar ajax. Con solo tener el esquema en una función lo agregas dentro de un modal o un elemento en la página. Ejemplo:
    $('#form-id').html('' +
    '<div class="new-user">' +
    '<input type="text" value="" />' +
    '<button type="button">Grabar</button>' +
    '</div>' +
    '');
    Luego tomas los datos así cuando el elemento es nuevo en el DOM:
    $(document).on('click', '#form-id .new-user button', function(){
    var new_user = $('#form-id .new-user input).val();
    if( new_user != ''){
    create_new_user( new_user );
    }
    });
      Votos: 0 - Link respuesta
     
Para participar activamente de la comunidad primero debes autenticarte, ingresa al sistema.Iniciar Sesión
 
frjcbbae garagebible.com