Thursday, April 16, 2015

problema al cargar un div mediante ajax.

Estimados.

primero explicare lo que estoy tratando de hacer.

tengo una pagina index, que contiene una grilla.  en cada linea de la grilla tengo un boton ver
la idea es que cuando presiono en el boton ver  recargue un div en la misma pagina, con infromacion traida desde una funcion en el controlador.


lo primero que se me vino a la mente fue hacerlo con ajax+jquery.
entonces lo hice de la forma clasica

  $.ajax({
               url: 'la direccion del controlador/la funcion',
               type: 'post',
               data: 'arreglo con los datos a enviar',
               success: function (result) {
                    proceso que llena el div ......
               }
});



y funciono correctamente. pero por motivos de la empresa, no me sirve
 tengo que hacerlo de la forma nativa en cakephp 

ahora para seguir con el estandar de cakephp estoy trabajando con un element
el element se encuentra en mi carpeta "app\View\Elements"

ahora tengo un codigo que me funciona pero no es ajax

en el controlador

public function mi_funcion($id=5)
{
$posts = $this->Post->find('all', array('fields'=>array('Post.id', 'Post.title', 'Post.Created'),
  'recursive'=>0,
  'order'=>array('Post.created desc'),
  'limit'=>$id));
 
    if(isset($this->params['requested']))
    {
              return $posts;
    }
 
    $this->set('exs', $posts);
    $this->layout = 'ajax';
}



en la vista

si pongo esta llamada la funcion me carga los datos en el div

$exs = $this->requestAction('mi_controlador/mi_funcion');


ahora necesito hacerlo mediante ajax.

intente algo como esto pero no me funciono
echo $this->Js->request
(
array(
'controller' => 'mi_controlador', 'action' => ',i_funcion'
),
array(
'update' => '#vistaParcial',
'async' => true,
'dataExpression' => true,
'method' => 'get',
'data' => array('id'=>'5')
)
); 

alguna ayuda porfavor 








--
Like Us on FaceBook https://www.facebook.com/CakePHP
Find us on Twitter http://twitter.com/CakePHP

---
You received this message because you are subscribed to the Google Groups "CakePHP" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cake-php+unsubscribe@googlegroups.com.
To post to this group, send email to cake-php@googlegroups.com.
Visit this group at http://groups.google.com/group/cake-php.
For more options, visit https://groups.google.com/d/optout.

No comments: