значение ajax не отображается в окне модели - PullRequest
0 голосов
/ 15 сентября 2018

Я хочу отобразить, чтобы открыть файл PDF в окне модели.Но это не работает должным образом.код указан ниже

<td class="text-center">
    <button class="btn btn-sm btn-danger 
    deleteUser" data-toggle="modal" data-target="#myModal1" onclick="edit_book1(<?php echo 
         $row['markid'];?>)">
        <i class="fa fa-upload"></i></button>
</td>

AJAX код

function edit_book1(markid) {
    save_method = 'update';
    $('#form1')[0].reset(); // reset form on modals

    //Ajax Load data from ajax
    $.ajax({
                url: "<?php echo site_url('/users/ajax_edit1')?>/" + markid,
                type: "POST",
                dataType: "JSON",
                success: function(data) {
                    console.log(data);
                    alert(data);

                    $('[name="markid1"]').val(data.file_name);

                    $('#modal_form1').modal('show'); // 
                    show bootstrap modal when complete loaded
                    $('.modal- 
                            title ').text('
                            Upload Images '); // 
                            Set title to Bootstrap modal title
                        },
                        error: function(jqXHR,
                            textStatus, errorThrown) {
                            alert('Error get data from 
                                ajax ');
                            }
                        });
            }

Контроллер

public
function
ajax_edit1($markid) {
    $data = $this - > User_Model -
        >
        getRows($markid);
    echo json_encode($data);

}

модель

function getRows($markid = array()) {
    $this - > db - > select('*');
    $this - > db - > from('upload_ins');
    $this - > db - > where('certid', $markid);
    $query = $this - > db - > get();
    return $query - > row();
}

окно модели

<?php if(!empty($files)){ 
      foreach($files as $frow)
                             {
        print_r($frow);                              
     ?>
<embed src="<?php echo 
     base_url().'uploads/files/'.$frow 
         ['file_name']; ?>" type='application/pdf' frameborder="0" width="100%" height="400px">

Я проверяю это в консоли возвращаемое значение.Но нет отображения в окне модели.как это решить?

В окне консоли я получил

{id: "0", regno: "01107402042", appno: "10001", certid: "1", file_name: "9bfe44de3ddb583778d2b641bdb6b79f.pdf", …}

Ответы [ 2 ]

0 голосов
/ 15 сентября 2018
$('[name="markid1"]').val(data.file_name);

name = "markid1" - это тег ввода или div или Span?

Метод val будет работать только с тегом ввода.

Если вы используете тег div или span, вам следует использовать метод text () вместо метода val () .

Пожалуйста, используйте это.

Спасибо

0 голосов
/ 15 сентября 2018

Похоже, ваш результат вывода является объектом json. Если это так, вам необходимо преобразовать его с помощью json_decode (), а затем получить доступ к элементу.

$f_row = json_decode($frow, TRUE);

Параметр TRUE функции json_decode() вернет данные в виде ассоциативного массива, теперь вы можете получить доступ к данным строки с помощью клавиш.

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