Вставка данных на страницу с помощью ajax

118
25 ноября 2020, 17:40

На странице есть блок <div class="trading__buy-text" id="BS_title_balance"></div> В который текстом нужно динамически подгружать данные из БД Делаю следующим образом:

<script>
setInterval(function(){ 
    $.ajax({
            url: "trade_total.php",
            type: "POST",
            data: {refresh:true}, // Передаем данные для записи
            dataType: "json",
            success: function(result) {
                if (result){ 
                    $('.book__table_history').html(function(){
                        var res = '';
                        res += '<div class="trading__buy-text" id="BS_title_balance">'+(result.Volume['value'][i]/1).toFixed(8)+'</div>';
                                }
                        }
                        return res;
                    });
                }
            },
            error: function(){
                $('.book__table_history').html(function(){
                    var res='';
                    return res;
                });
            }
    });
}, 1000); 
</script>

Файл trade_total:

<?php
ini_set('display_errors','ON');
session_start();
include_once('db_connect.php');
if ($_POST['refresh'] == "true") {
    $query = $mysqli->query("SELECT SUM(`total`) AS value FROM `orders` WHERE status = 1 ORDER BY dttm_close_order DESC LIMIT 30 ");
    $row = $query->fetch_assoc();
    $Volume['value'][]      = $row["value"];   
    $out = array(
        'Volume' => $Volume
    );
    // Устанавливаем заголовот ответа в формате json
    header('Content-Type: text/json; charset=utf-8');
    // Кодируем данные в формат json и отправляем
    echo json_encode($out);
    //Прекращаем выполнения скрипта
    die;
}

Но информация в блоке не обновляется

Answer 1

Попробуйте обновлять информацию в DOM'E уже после записи данных в переменную:

success: function(result) { 
  if (result) { 
    var res = '<div class="trading__buy-text" id="BS_title_balance">' + (result.Volume['value'][i] / 1).toFixed(8) + '</div>'; 
 
    $('.book__table_history').html(res); 
  } 
  return res; 
},

Да и просто можно попробовать вывести переменную res в консоль в качестве отладки.

READ ALSO
Настройка browserSync + Sass для Gulp 4

Настройка browserSync + Sass для Gulp 4

Вопрос в следующем: при обработке, browserSync фиксирует изменения sass файлов, но изменения в html не фиксируетПредполагаю, что ошибка в написании...

84
Как опустить кнопку вниз блока?

Как опустить кнопку вниз блока?

Мне необходимо опустить кнопку вниз, чтобы она всегда была с отступом от низа в 100pxУ меня не получается это сделать, пробовал через position:absolute;...

95
Статическая линковка C++ рантайма к динамической библиотеке

Статическая линковка C++ рантайма к динамической библиотеке

Пытаюсь собрать приложение app, прилинковав его к динамической библиотеке library так, чтобы больше никаких dll для запуска appexe не требовалось...

103