Foros del Web » Programando para Internet » PHP »

Ajax Cakephp 2.x

Estas en el tema de Ajax Cakephp 2.x en el foro de PHP en Foros del Web. Hola a todos! Soy nuevo en la comunidad, escribo porque llevo 2 semanas tratando de utilizar el helper Js de cakephp sin resultados satisfactorios, he ...
  #1 (permalink)  
Antiguo 03/07/2014, 09:37
 
Fecha de Ingreso: julio-2014
Mensajes: 1
Antigüedad: 9 años, 9 meses
Puntos: 0
Ajax Cakephp 2.x

Hola a todos! Soy nuevo en la comunidad, escribo porque llevo 2 semanas tratando de utilizar el helper Js de cakephp sin resultados satisfactorios, he buscado en google hasta decir "basta", en youtube viendo tutoriales, he buscado en foros, pero la verdad es que no he logrado hacer funcionar el helper para ajax de cakephp.

Verán el ejemplo que planteo es sencillo, tengo un controlador llamado DriversControllers y una acción llamada "index" con su respectiva vista, lo que trato de hacer es agregar en la vista de la acción index un piloto por medio de un formulario y automáticamente observar que dicho piloto fue agregado a una lista de pilotos ya existente.

EL PROBLEMA, es que al hacer submit en el formulario la respuesta me repite DOS VECES EL CONTENIDO que ya tengo en la vista, no se por qué pasa esto.

Tengo una tabla llamada driver, con los campos, id, name y country.

El codigo del controlador:

<?php
class DriversController extends AppController{
//put your code here
public $helpers = array('Html',"Form", "Js", "Session");



//put your code here
public function index(){
$res = $this->Driver->find('all');
$this->set('res', $res);
//$this->layout = "mi-layout";
if($this->Driver->save($this->data)){
if ($this->request->is('ajax')) {
$this->Session->setFlash('Piloto agregado!');
$res = $this->Driver->find('all');
$this->set('res', $res);




}else{
$this->Session->setFlash('Error al agregar al piloto');
$this->redirect(array('action'=>'index'));
}

}


}

}

Código de la vista:

<h1>Listado de Pilotos</h1>

<div id = "div-ajax">
<?php
if(isset($res)){
foreach ($res as $rp){
echo $rp['Driver']['name']. " ". $rp['Driver']['country']. "<br>";

}
}
?>
</div>
<br>
<hr>

<?php

echo $this->Form->create(array('default' => false));
echo $this->Form->input("name", array('required' => true));
echo $this->Form->input("country", array('required' => true));
echo $this->Js->submit('Agregar', array(
'update' => "#div-ajax",
'async' => true,
'controller' => 'drivers',
'action' => 'index',

));
echo $this->Form->end();

$data = $this->Js->get('#DriverIndexForm')->serializeForm(array('isForm' => true, 'inline' => true));

echo $this->Js->writeBuffer();

Última edición por fablexis; 03/07/2014 a las 09:55

Etiquetas: ajax, cakephp, helper, js
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:21.