Я хочу показывать изображение в теге img, когда ajax вызывается в codeigniter - PullRequest
0 голосов
/ 03 ноября 2018

Я хочу показать изображение в теге img. когда Ajax вызывается в CodeIgniter. это код, который получает данные из базы данных и отображает их в модели начальной загрузки. но главная проблема в том, что я хочу показать изображение в теге img, но оно не отображается.

        $(".Edit-modal").on("shown.bs.modal", function (e) {
        var button = $(e.relatedTarget); 
        var ID = button.parents("tr").attr("data-id");
        var modal = $(this);
        $.ajax({
        url: "'.base_url().'Employees/master_get_employees",
        data: {ID:ID},
        type: "POST",
        success:function(output){
        try{
        var outputData = JSON.parse(output);
modal.find("#EditImage").attr("'.base_url().'src",outputData.pic);
        }
        catch(ex){
        var split = output.split("::");
        if(split[0] === "FAIL"){
        Shafiq.notification(split[1],split[2])
        }else{
        Shafiq.notification("Could Not Load Data, Please Contact System Administrator For Further Assistance","error");
        }
        }
        }
        });
        });

И это тег Img, в котором я хочу отобразить изображение.

<div class="col-md-3">
<div class="form-group">
<label for="EditcontactNoSelector">Employee Picture</label>
<img src="" id="EditImage" alt="Not Found">
</div>
</div>

А это функция, с помощью которой данные выбираются из базы данных

public function master_get_employees()
    {
        if ($this->input->post()) { //If Any Values Posted
            if ($this->input->is_ajax_request()) { //If Request Generated From Ajax
                $ID = $this->input->post('ID');
                if (!isset($ID) || !is_numeric($ID)) {
                    echo "FAIL::Something went wrong with POST request, Please contact system administrator for further assistance::error";
                    return;
                }
                $table = "employees e";
                $selectData = "e.id AS ID,e.Phone,e.Mobile,e.CNIC,e.Perm_Address,e.Picture as pic,d.name as Designation,s.title as Shift, e.Name,e.Father_Name  AS FatherName,e.Phone AS Contact,e.JoinDate,e.BasicSalary, e.Pres_Address AS Address,e.IsEnabled";
                $where = array(
                    'e.id' => $ID, 'e.IsActive' => 1
                );
                $result = $this->Common_model->select_fields_where_like_join($table, $selectData,$where, TRUE);
                print json_encode($result,JSON_UNESCAPED_SLASHES);
            }
        }
    }

Ответы [ 2 ]

0 голосов
/ 03 ноября 2018

вместо этого

url: "'.base_url().'Employees/master_get_employees",

Вы можете использовать ниже,

url: "<?php echo site_url('Employees/master_get_employees'); ?>",

Также на стороне сервера, если вам нужен только URL-адрес изображения, просто создайте URL-адрес изображения из $ result, сохраните его в переменной, например, $ img_path в функции "master_get_employees", а затем просто

echo json_encode(['img_path'=>$img_path]);

А в ajax успехе просто делайте ниже

$("#EditImage").attr('src',outputData.img_path);
0 голосов
/ 03 ноября 2018

Я думаю, у вас есть функция base_url() в javascript, чтобы найти базовый URL вашего сайта. Если так, то вы можете использовать

$("#EditImage").attr("src",base_url()+outputData.pic);

Если у вас нет функции base_url() в javascript, вы можете найти ее здесь: как получить базовый URL в JavaScript

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...