Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как распарсить загруженный документ js, чтобы каждая строка стала переменной? (https://javascript.ru/forum/misc/83537-kak-rasparsit-zagruzhennyjj-dokument-js-chtoby-kazhdaya-stroka-stala-peremennojj.html)

Katy93 06.01.2022 16:28

Rise, сейчас пытаюсь использовать современную загрузку файла. В итоге у меня не получается загрузить документ. Вот пример кода:
function LoadFromFile()
    {
     
      let response = async function loadCities() {
        const response = await fetch(
          'https://aperesso.github.io/low_poly_room/room.json'
        );
        const cities = await response.json();
        console.log(cities);
      }
      loadCities().catch((err) => {
        console.log('Ошибка! ', err);
      });

    }

Выдает ошибку: loadCities is not defined

рони 06.01.2022 16:54

Цитата:

Сообщение от Katy93
let response =

это сотрите

Rise 06.01.2022 17:19

Katy93,
Здесь можешь посмотреть как ошибки обрабатывать. По твоему адресу запроса будет ошибка, потому что нужны разрешения.

Katy93 07.01.2022 16:45

Цитата:

Rise, Да, но синхронный запрос блокирует страницу, такие запросы сейчас не актуальны. У вас просто устаревший пример кода, актуальные примеры можно найти
Современный пример у меня не работает, поэтому буду пользоваться устаревшим.
function LoadFromFile(FileName){
      var req = new XMLHttpRequest();
      var data = "1";
      req.open("GET", FileName);
     
      req.onreadystatechange = function() {
        
        if(req.readyState===4){
         
          if(req.status===200){
            
            let text = req.responseText // Текст содержащий много строк
            let lines = text.split('\n') // Массив каждый элемент - отдельная строка
            let num;
            for(var i = 0; i < lines.length; i++)
            {
                num = toFixed(lines[i]);
                console.log(num);
            }

          }
        }
      }
      try
      {
         req.send(null);
      }
      catch (e)
      {
         alert(e.message);
      }
      
    }

Он по крайне мере нормально запускается во всех браузерах. До этого я уже изучила достаточно объемный материал по JS и сейчас просто времени нет, чтобы разбираться в современных примерах получения данных из текстовых документов.

Alexandroppolus 07.01.2022 21:06

Цитата:

Сообщение от Katy93
Современный пример у меня не работает

рони же написал, как поправить. Всё работает.


Часовой пояс GMT +3, время: 12:18.