Как отобразить изображение и данные по идентификатору, используя codeigniter и ajax в поле зрения - PullRequest
0 голосов
/ 23 января 2019

пожалуйста, помогите мне.Я делаю приложение, используя codeigniter и ajax, при успешной загрузке фотографии.Но когда я нажимаю кнопку редактирования, фотография не появляется в модале начальной загрузки для обновления.

Вот некоторый код, я использую серверную часть с данными.User_model.php

public function get_by_id($id)
{
    $this->db->from($this->table);
    $this->db->where('user_id',$id);
    $query = $this->db->get();

    return $query->row();
}

User.php (контроллер)

public function ajax_edit($id)
{
    $data = $this->User_model->get_by_id($id);
    echo json_encode($data);
}

user.php (просмотр с использованием модальной начальной загрузки)

<div class="modal fade" id="modal_form" tabindex="-1" role="dialog" aria-labelledby="largeModal" aria-hidden="true">
<div class="modal-dialog">
    <div class="modal-content">
        <div class="modal-header">
            <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
            <h3 class="modal-title">Tambah Pengguna</h3>
        </div>

        <form action="#" id="form" class="form-horizontal" >
            <input type="hidden" value="" name="id"/>
            <div class="modal-body">

                <div class="form-group">
                    <label class="control-label col-xs-3" >Username <font color="red>">*</font></label>
                    <div class="col-xs-9">
                        <input name="userNm" class="form-control" type="text" placeholder="" style="width:335px;"required>
                    </div>
                </div>

                <div class="form-group">
                    <label class="control-label col-xs-3" >Nama Pengguna <font color="red>">*</font></label>
                    <div class="col-xs-9">
                        <input name="nama" class="form-control" type="text" placeholder="" style="width:335px;" required>
                    </div>
                </div>

                <div class="form-group">
                    <label class="control-label col-xs-3" >Email <font color="red>">*</font></label>
                    <div class="col-xs-9">
                        <input name="email" class="form-control" type="text" placeholder="" style="width:335px;" required>
                    </div>
                </div>

                <div class="form-group">
                    <label class="control-label col-xs-3" >Upload Foto <font color="red>">*</font></label>
                    <div class="col-xs-9">
                        <input type="file" name="fupload" required/>
                    </div>
                </div>

                <div id="preview" style="display:none";>
                </div>


                <div><br></div>
                <font color="red">*</font> : kolom wajib di isi.
            </div>

            <div class="modal-footer">
                <button class="btn" data-dismiss="modal" aria-hidden="true">Batal</button>
                <button class="btn btn-info" id="btn_simpan" type="submit" onclick="save()">Simpan</button>
                <!--<button class="btn btn-info" id="btn_simpan" type="submit" >Simpan</button>-->
            </div>
        </form>
    </div>
</div>

а здесь аякс для отображения данных в форме редактирования.

function edit_user(id)
{
    save_method = 'update';
    $('#form')[0].reset(); // reset form on modals
    $('.form-group').removeClass('has-error'); // clear error class
    $('.help-block').empty(); // clear error string

    //Ajax Load data from ajax
    $.ajax({
        url : "<?php echo site_url('user/ajax_edit/')?>/" + id,
        type: "GET",
        dataType: "JSON",
        success: function(data)
        {
            $('[name="id"]').val(data.user_id);
            $('[name="userNm"]').val(data.username);
            $('[name="nama"]').val(data.complete_name);
            $('[name="email"]').val(data.user_email);
            //$('[name="fupload"]').val(data.user_image);

            $(".#preview").attr("src", './assets/img_user/'+val(data.user_image);

            $('#modal_form').modal('show'); // show bootstrap modal when complete loaded
            $('.modal-title').text('Edit Data Pengguna'); // Set title to Bootstrap modal title

        },
        error: function (jqXHR, textStatus, errorThrown)
        {
            alert('Error get data from ajax');
        }
    });
}

Я надеюсь, что кто-нибудь может мне помочь.Спасибо, прежде чем.

Ответы [ 2 ]

0 голосов
/ 24 января 2019

Я думаю, что лучше выводить данные JSON следующим образом:

$this->output->set_content_type('application/json')
            ->set_header('Access-Control-Allow-Origin: *')
            ->set_output(json_encode($return));

, чем отобразить его в контроллере.

0 голосов
/ 23 января 2019

Я также показываю одну вещь в нашем коде, что у div нет тега image.Таким образом, вы должны добавить это.

 $("#preview").html('');

 $("#preview").append("<img src='../assets/img_user/"+data.user_image+"' class='contentimg'>");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...