• Почему react-scripts build не добавляет service-worker.js в билд?

    @Andreeyyy Автор вопроса
    Web программист
    Создал еще одно приложение с темплейтом cra-template-pwa. Далее из него перебросил файлы serviceWorkerRegistration.js и service-worker.js в свой проект. В index.js добавил строку serviceWorkerRegistration.register() вместо serviceWorker.register(). Теперь заработало!
    Ответ написан
    Комментировать
  • Как в питоне хранить данные?

    @Andreeyyy
    Web программист
    Проще всего записать в текстовый документ.
    https://pythonworld.ru/tipy-dannyx-v-python/fajly-...
    Ответ написан
  • Как отправить json на сервер?

    @Andreeyyy
    Web программист
    1) Вы делаете асинхронный запрос, у него есть несколько состояний. Нам нужно 4-е. Для этого переделаем функцию translateText.
    function translateText() {
        var xhr = new XMLHttpRequest();
        var url = 'https://translate.googleapis.com/translate_a/single?client=gtx&sl=auto&tl=en&hl=ru&dt=t&dt=bd&dj=1&source=icon&tk=467103.467103&q=';
    
        xhr.open('POST', url, true);
        xhr.send(result);
    
        xhr.onreadystatechange = function () { // (3)
            if (xhr.readyState != 4) return;
    
            if (xhr.status != 200) {
                // обработать ошибку
                alert(xhr.status + ': ' + xhr.statusText); // пример вывода: 404: Not Found
            } else {
                // вывести результат
                names = xhr.responseText;
                console.log( JSON.parse(xhr.responseText) );
            }
        }
    }


    2) В ответе нет массива sentences, поэтому slovo = data.sentences[0].trans выдаст исключение.

    3) console.log(translateText()) работать не будет, т.к. console.log не будет ждать полного выполнения запроса. Поэтому его надо засунуть в саму функцию.

    4) У XHR есть современные асинхронные аналоги, например fetch
    function translateText() {
        let url = 'https://translate.googleapis.com/translate_a/single?client=gtx&sl=auto&tl=en&hl=ru&dt=t&dt=bd&dj=1&source=icon&tk=467103.467103&q=';
        fetch(url, {
            method: 'POST',
            headers: { 'Content-Type': 'application/json;charset=utf-8' },
            body: JSON.stringify({ room: Object.fromEntries(map) })
        })
            .then(response => response.ok ? response.json() : response.status)
            .then(result => console.log(result));
    
        /*
            Выполняем запрос. Далее если он усешен, распаршиваем его, в ином случае передаем статус.
            Далее выводим это в консоль.
        */
    }
    Ответ написан
    Комментировать