Así que tengo una configuración de paginación para uno de mis proyectos de Yii y he logrado el resultado deseado usando CListView . Por motivos de seguridad y legibilidad, he configurado mi función actionParams para que solo se asigne a los parámetros $ _POST .

Ahora, mi problema es que cada vez que hago clic en cualquiera de mis campos clasificables o en los enlaces de mi página, en realidad OBTENGO los datos. ¿Cómo lo cambio a POST en su lugar?

3
Anand Sainath 14 may. 2012 a las 08:57

1 respuesta

La mejor respuesta

No sé si satisfará sus necesidades, pero puede activar manualmente las actualizaciones de ajax a través de JavaScript con: $.fn.yiiListView.update('list-id',{type: 'POST'});. En el segundo argumento también puede enviar datos y otras opciones ajax como: $.fn.yiiListView.update('list-id',{type: 'POST',data:{ex_var: 'TEST'}});.

Pero para usar esto, tendrá que vincular lo anterior para hacer clic en el evento de su buscapersonas.

Otra solución es editar jquery.yiilistview.js (puede encontrarlo en framework / zii / widgets / assets / listview). Vaya a la línea 82 donde se encuentra la función de actualización y edite sus opciones como:

options = $.extend({
type: 'GET', //<- change this to POST
url: $.fn.yiiListView.getUrl(id),
    ...

});

También tendrá que actualizar su carpeta de activos. Pero tenga en cuenta que cambiará el comportamiento de todos sus CListViews :)

Saludos.

3
pere_ 14 may. 2012 a las 12:11
1
Estás hablando de Actualizar el contenido de la paginación en su conjunto. Lo que quise decir es hacer clic en los números de página de la paginación y las columnas del clasificador.
 – 
Anand Sainath
14 may. 2012 a las 12:53
Lo sé, pero al hacer clic en los enlaces de paginación y las columnas del clasificador, se activan las actualizaciones de ajax a través de la función $ .fn.yiiListView.update (). ¿O usó alguna solución personalizada para la paginación? Publicar algún código relevante ayudaría mucho.
 – 
pere_
14 may. 2012 a las 15:45
¡Hey gracias! ¡La segunda solución funciona de manera brillante! No quería actualizar el archivo base, pero como no tengo otra opción, tendré que conformarme con ello.
 – 
Anand Sainath
14 may. 2012 a las 15:56
Alegra oírlo :). Como dije antes, esto cambia el comportamiento de todos sus ListViews. Me pregunto si hay otra solución. Si se te ocurre algo, publícalo, te lo agradecería mucho.
 – 
pere_
14 may. 2012 a las 16:20