Quiero mostrar datos de ajax en show de modelos con echo php, he hecho ajax y no tengo errores.

Este es mi modelo

public function detail($id_branch) {
    $this->db->select('TR_BRANCH.*');
    $this->db->from('TR_BRANCH');
    $this->db->where('BRANCH_ID', $id_branch);
    $query = $this->db->get();
    return $query->result();

}

Mi controladora

Public function detail($id_branch){
    $data = $this->main_model->detail($id_branch);
    echo json_encode($data);
    $this->load->view('template/pages/home_index', $data);
}

Mi ajax

function coba(id_branch) {
    $('#placeholder').hide();

    $('#placeholder').show(function(){

        $.ajax({
            url:"<?php echo base_url() ?>home/detail/" + id_branch,
            success(res){
                // alert(id_branch)
            }
        })


    });

}

Mi punto de vista

<div id="placeholder">
<div class="row">
    <div class="panel panel-default">
        <div class="panel-heading clearfix">
         <p><?php echo $data->DISPLAY_NAME; ?></p>
        </div>
    </div>
</div>

Si yo

<?php echo $data->DISPLAY_NAME; ?> 

En mi modal, recibo un error como variable indefinida: datos. Los datos de resultado json_encode ya aparecen en la red basada en id_branch. ¿Como arreglarlo? ayuda por favor

-1
Erlyta Windi 7 mar. 2018 a las 06:44

3 respuestas

La mejor respuesta

Como obtiene DISPLAY_NAME en la solicitud de Ajax, no puede usar $ data-> DISPLAY_NAME,

Debe dar la identificación a la etiqueta p y actualizar su valor en el método de éxito ajax

<p id="displayName"></p>


success(res) 
{
    // alert(id_branch)
     $("#displayName").html(Read Value from res data);
}
1
Davinder Singh 7 mar. 2018 a las 05:25

Ver: https://codeigniter.com/user_guide/general/views.html

La vista recibe las claves $data (y su valor) como piezas, no toda la variable $data.

Entonces, en su "mi opinión", debería ser echo $DISPLAY_NAME;.

¡Espero que esto ayude!

0
vietanhyt 7 mar. 2018 a las 04:49

Supongo que desea devolver la vista a ajax, y que solo desea obtener un registro. Haz lo siguiente:

public function detail($id_branch) {
    $this->db->select('TR_BRANCH.*');
    $this->db->from('TR_BRANCH');
    $this->db->where('BRANCH_ID', $id_branch);
    $query = $this->db->get();
    return $query->row();

}

Controlador:

public function detail($id_branch){
    $data = $this->main_model->detail($id_branch);
    //echo json_encode($data); // why??
    $this->load->view('template/pages/home_index', $data);
}
0
Alex 7 mar. 2018 a las 05:28