@Goldsliders

Как обойтись без fetch при работе на локалке из папки?

Доброе утро!
Есть скрипт
fetch('database.txt').then(res => {
  return res.text();
}).then(text => {
var div = document.querySelector("#result");
var input = document.querySelector("input");
var el = document.querySelector("#result");
but.onclick=function(){
div.innerHTML = text.split('\n').filter(s => s.startsWith(input.value.trim()));
el.classList.add("active");
}
});

Но он не работает из "папки" так сказать , можете посоветовать как обойти это или исправить так что бы работало?)
Буду очень благодарен !)
  • Вопрос задан
  • 96 просмотров
Пригласить эксперта
Ответы на вопрос 2
Fragster
@Fragster
помогло? отметь решением!
максимум, что можно, это сделать input type="file" и при его изменении (причем только интерактивном) читать файл, как-то так:
const texts = []

function readFile2Text(file) {
  return new Promise((resolve, reject) => {
    const reader = new FileReader()

    reader.addEventListener('load', function () {
      resolve(reader.result)
    }, false)

    if (file) {
      reader.readAsText(file)
    } else {
      resolve('')
    }
  })

    async function onFileChange (event) {
      for (const file of event.target.files) {
        texts.push({ name: file.name, data: await readFile2Text(file) })
      }
      event.target.value = null
    }

Остальное запрещает безопасность браузера.
Ответ написан
Комментировать
ThunderCat
@ThunderCat Куратор тега JavaScript
{PHP, MySql, HTML, JS, CSS} developer
не очень понимаю ваши страдания на пустом месте. Вы же сами привели ссылку где ваш вопрос решен в одну строчку, что еще вам нужно то?

Правда не знаю как переделать под себя
Так там вроде ничего переделывать не нужно. Хотя никто не знает структуру вашего тхт файла, которая в приведенном решении имеет правильный для работы вид. Как у вас выглядит внутренность файла - загадка.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы