klg-asutk-app/docs/#U0414#U0418#U0410#U0413#U041d#U041e#U0421#U0422#U0418#U041a#U0410_#U0414#U0410#U041d#U041d#U042b#U0425.md

4.6 KiB
Raw Blame History

Диагностика проблемы с отображением данных

Текущий статус

В консоли браузера:

  • Нет ошибок загрузки данных
  • ⚠️ Предупреждения React Router (не критично)
  • ⚠️ 404 для favicon.ico (не критично)

🔍 Проверка данных

Шаг 1: Проверка через консоль браузера

Выполните в консоли браузера (не в терминале):

// Проверка загрузки данных через API
fetch('/api/v1/aircraft', {
  headers: { 'Authorization': 'Bearer dev' }
})
.then(r => {
  console.log('✅ Status:', r.status);
  if (!r.ok) throw new Error(`HTTP ${r.status}`);
  return r.json();
})
.then(data => {
  console.log('✅ Всего ВС:', data.length);
  if (data.length > 0) {
    const first = data[0];
    console.log('✅ Первое ВС:', first.registration_number);
    console.log('operator_name:', first.operator_name || '❌ ОТСУТСТВУЕТ');
    console.log('serial_number:', first.serial_number || '❌ ОТСУТСТВУЕТ');
    
    // Проверка всех ВС
    const withOperator = data.filter(a => a.operator_name).length;
    const withSerial = data.filter(a => a.serial_number).length;
    console.log(`✅ ВС с operator_name: ${withOperator}/${data.length}`);
    console.log(`✅ ВС с serial_number: ${withSerial}/${data.length}`);
    
    // Показываем первые 3 ВС для проверки
    console.log('Первые 3 ВС:');
    data.slice(0, 3).forEach((a, i) => {
      console.log(`  ${i+1}. ${a.registration_number}: operator=${a.operator_name || 'НЕТ'}, serial=${a.serial_number || 'НЕТ'}`);
    });
  }
})
.catch(err => console.error('❌ Ошибка:', err));

Шаг 2: Проверка Network tab

  1. Откройте вкладку Network в DevTools
  2. Обновите страницу (F5)
  3. Найдите запрос aircraft
  4. Проверьте:
    • Status: должен быть 200 OK
    • Response: кликните на запрос → вкладка Response → должен быть JSON с данными

Шаг 3: Проверка отображения в таблице

  1. Перейдите на страницу "Воздушные суда"
  2. Проверьте консоль - должны появиться логи (в dev режиме):
    • ✅ Загружено ВС: 51
    • ✅ Первое ВС: {registration_number: "RA-12345", ...}
  3. Проверьте таблицу - должны отображаться:
    • Колонка "Оператор" с названиями организаций
    • Колонка "Серийный номер" с номерами

🐛 Если данные не отображаются

Проблема 1: Данные приходят, но не отображаются в таблице

Решение:

  1. Очистите кэш: Cmd + Shift + R (Mac) или Ctrl + Shift + R (Windows)
  2. Проверьте консоль на ошибки рендеринга
  3. Проверьте вкладку Elements - есть ли таблица с данными

Проблема 2: Данные не приходят

Решение:

  1. Проверьте Network tab - есть ли запрос к /api/v1/aircraft
  2. Проверьте Status - должен быть 200 OK
  3. Проверьте Response - должен быть JSON массив
  4. Проверьте Headers - должен быть Authorization: Bearer dev

Проблема 3: Ошибка CORS

Решение:

  1. Проверьте консоль на ошибки CORS
  2. Проверьте настройки CORS в backend (должно быть allow_origins=["*"])

📊 Ожидаемый результат

После выполнения кода в консоли должно быть:

  • Status: 200
  • Всего ВС: 51
  • ВС с operator_name: 51/51
  • ВС с serial_number: 51/51
  • Первое ВС: RA-12345
  • operator_name: Аэрофлот - Российские авиалинии
  • serial_number: 08-001

🔧 Дополнительная диагностика

Если проблема сохраняется:

  1. Выполните код проверки в консоли
  2. Пришлите результат выполнения
  3. Пришлите скриншот Network tab с запросом aircraft
  4. Пришлите скриншот таблицы (если она отображается)