🎁
на любом сайте? 🙂
нет на моем, что можно к примеру вести слово Зарплата или Питание , и потом сохранить его или удалить
Yury
🙄🙄🙄
Illis
Добрый день Можете помочь пожалуйста . Делаю на сайте чат (сайт на чистом js и php) подскажите пожалуйста чем передавать данные XMLHttpRequest или WebSocket ?
Denis
сокетом
Ты делал сам?
🎁
Попробуй написать логику, реализующую сохранение тегов
случайно нет примеров или незнаете где посомреть
Illis
Куда передавать?
На сервер php
Denis
Обратно на сокете
Denis
Обычно так делают
Denis
Но можно и полностью на сокете, но я сам не делал
Lupusregina[beta]
Ты делал сам?
а где тут связь?
Denis
а где тут связь?
Покажи реализацию
Lupusregina[beta]
Illis
Спасибо понял . Туда XHR обратно Сокет
Denis
Да
Это не тебе вопрос
Lupusregina[beta]
Спасибо понял . Туда XHR обратно Сокет
если сокет используешь уже, то и туда отправляй им
Illis
Это точно работает
А что если только на XHR?
Konstantin
А что если только на XHR?
Замути вебсокет на пхп, очень интересно
Denis
А что если только на XHR?
Сервер не может передать что-то на клиент. HTTP не позволяет это делать
kolay
Покажи реализацию
На сайте socket io есть отличные примеры
Lupusregina[beta]
Сервер не может передать что-то на клиент. HTTP не позволяет это делать
можно долгий запрос использовать, ответ на который был бы сигналом
Denis
Тут люди по делу спрашивают
Konstantin
можно долгий запрос использовать, ответ на который был бы сигналом
Как минимум 3 варианта, вебсокет, лонг-поллинг, просто поллинг по тайм-ауту
kolay
Почему чушь
Denis
Лонг поллинг - это не долгий запрос
Denis
Это последовательные запросы
Konstantin
Лонг поллинг - это не долгий запрос
Нет. НТТР это стрим. Можно гет запрос не закрывать с сервера и пушить новые данные постоянно.
Konstantin
Это последовательные запросы
Это поллинг по тайм-ауту
Konstantin
Denis
Реализацию
Lupusregina[beta]
кароче, отправляешь запрос на точку. а там просто не завершаешь его, пока не будет какого то события(например тебе кто то написал). Соотвественно если запрос завершился успешно(не ошибка по таймауту) то надо запросить новые сообщения
Lupusregina[beta]
до веб сокетов так собвстенно и делали
kolay
Так тщ работает
Макс
А он как настроишь...
Макс
Это как в php отправлять большие файлы за счет увеличения таймаута в конфиге
Denis
до веб сокетов так собвстенно и делали
Я конечно извиняюсь, но ты до вебсокетов под стол пешком ходил. Что-то я не припоминаю чтоб так кто-то делал
Макс
😂😂
Denis
статью на хабре видел
Я не читаю хабр уже несколько лет
Illis
Спасибо вам всем большое . Вы меня просветили
Denis 🌆
https://www.youtube.com/watch?v=hHW1oY26kxQ Поделюсь музыкой для работы, уже около года слушаю, очень продуктивненько работается.
Konstantin
Покажи
Простейший контроллер в экспрессе. Тут на GET запрос не реализуется res.send или res.sendStatus(xxx). В стрим пушатся данные овертайм. Запрос никогда не заканчивается, и на клиент прилетают новые данные без новых запросов. Чат можно реализовать и на этом.
Макс
Кстати такие вещи лучше под нодой или питоном писать
kolay
Всё ещё так делает
Макс
Eureka.io если не ошибаюсь
Denis
Телеграмм бот апи
Так именно последовательные запросы
Макс
rtc и все такое....
Andrejs Sahniks
Ребята подскажите пожалуйста как сделать чтобы на сайте можно было добавлять, удалять теги : Питание, зарпла(любую какую хочу) Спасибо всем
const form = document.querySelector('#search-form'); const div = document.querySelector('.jumbotron'); function apiSearch(event) { event.preventDefault(); let input = document.querySelector('#input__form').value; const el = document.createElement('span'); el.innerHTML = `<p> + ${input} + </p>`; div.appendChild(el); } form.addEventListener('submit', apiSearch);
Pavel
Сматри
Смотри
Konstantin
А какой таймаут у промиса?
fetch API позволяет считывать данные с ReadableStream запроса, хоть через setInterval хоть через while(true)
Denis
const form = document.querySelector('#search-form'); const div = document.querySelector('.jumbotron'); function apiSearch(event) { event.preventDefault(); let input = document.querySelector('#input__form').value; const el = document.createElement('span'); el.innerHTML = `<p> + ${input} + </p>`; div.appendChild(el); } form.addEventListener('submit', apiSearch);
javascript const form = document.querySelector('#search-form'); const div = document.querySelector('.jumbotron'); function apiSearch(event) { event.preventDefault(); let input = document.querySelector('#input__form').value; const el = document.createElement('span'); el.innerHTML = `<p> + ${input} + </p>`; div.appendChild(el); } form.addEventListener('submit', apiSearch);
Andrejs Sahniks
Спасибо
Denis
Только сокращенные названия языков не понимает пока