За последние 24 часа нас посетил 22531 программист и 1192 робота. Сейчас ищет 691 программист ...

Вывод статей без перезагрузки страницы

Тема в разделе "Решения, алгоритмы", создана пользователем Andrew1443, 19 дек 2015.

  1. Andrew1443

    Andrew1443 Новичок

    С нами с:
    13 дек 2015
    Сообщения:
    23
    Симпатии:
    0
    Здравствуйте. Есть вопрос. Как выводить статьи на странице без перезагрузки. Я знаю как можно сделать, чтобы для одного человека создавалась иллюзия, что статья вывелась, а в это время она отправляется через ajax в базу данных. Но как сделать, чтобы и для других пользователей, которые будут в той теме, она тоже вывелась без перезагрузки страницы?
     
  2. p@R@dox 55RU

    p@R@dox 55RU Зэк
    [ БАН ]

    С нами с:
    21 май 2014
    Сообщения:
    1.358
    Симпатии:
    7
    Адрес:
    с планеты Ялмез
    так же как и для всех (((:)
     
  3. Andrew1443

    Andrew1443 Новичок

    С нами с:
    13 дек 2015
    Сообщения:
    23
    Симпатии:
    0
    Я делаю с помощью метода append, а в этом время статья добавляется в базу данных на ajax

    Добавлено спустя 46 секунд:
    Но если зайти с двух аккаунтов в одну тему, то без перезагрузки страницы, статья добавится только у того пользователя, который ее написал
     
  4. p@R@dox 55RU

    p@R@dox 55RU Зэк
    [ БАН ]

    С нами с:
    21 май 2014
    Сообщения:
    1.358
    Симпатии:
    7
    Адрес:
    с планеты Ялмез
    ???????????????????????? O_O
     
  5. Andrew1443

    Andrew1443 Новичок

    С нами с:
    13 дек 2015
    Сообщения:
    23
    Симпатии:
    0
    Смотри ты зашел в тему одну и я. Я пишу статью и она у меня добавилась без перезагрузки страницы. Но ты, который тоже находишься в этой теме, не увидел того, что она добавилась. Как сделать так, чтобы и ты это увидел?
     
  6. p@R@dox 55RU

    p@R@dox 55RU Зэк
    [ БАН ]

    С нами с:
    21 май 2014
    Сообщения:
    1.358
    Симпатии:
    7
    Адрес:
    с планеты Ялмез
    отправь на сервер Ajax-данные, занеси данные в БД, и когда я сделаю Ajax-запрос то, тоже увижу твою статью ((:)
     
  7. Andrew1443

    Andrew1443 Новичок

    С нами с:
    13 дек 2015
    Сообщения:
    23
    Симпатии:
    0
    А как ты сделаешь запрос, если ты просто будешь находится на странице. Ничего не делать?
     
  8. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.230
    Симпатии:
    1.715
    Адрес:
    Молдова, г.Кишинёв
    Andrew1443 можно через websockets получить информацию от сервера
     
  9. Andrew1443

    Andrew1443 Новичок

    С нами с:
    13 дек 2015
    Сообщения:
    23
    Симпатии:
    0
    Что это?
     
  10. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.230
    Симпатии:
    1.715
    Адрес:
    Молдова, г.Кишинёв
    Ну у тебя есть 1 или больше клиентов + сервер,
    скажем клиент 1 подключился по websocket к серверу и клиент 2 к этому серверу тоже подключён,
    клиент 1 начинает редактировать запись, а клиент 2 может получить об этом информацию от сервера, так как клиент 1 её отправил на сервер,
    коммуникация в реально времени, как скайп например,

    раньше просто раз в N секунд делали запрос через ajax или longpoling, но websockets быстрее, меньше кушает трафика и других ресурсов.

    Подробнее можно поискать в поиске.
     
  11. Andrew1443

    Andrew1443 Новичок

    С нами с:
    13 дек 2015
    Сообщения:
    23
    Симпатии:
    0
    Хотелось бы свое сделать и не пользоваться услугами сторонних сайтов
     
  12. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.230
    Симпатии:
    1.715
    Адрес:
    Молдова, г.Кишинёв
  13. lastdays

    lastdays Активный пользователь

    С нами с:
    27 сен 2012
    Сообщения:
    410
    Симпатии:
    74
    Зачем вебсокет, нет, можно и его использовать, а можно сделать проще. Повесть таймер и отсылать аякс запрос на наличие новых ответов в определенной теме, а если таковые есть - показывать их. Увеличит нагрузку на сервер конечно.
    Зачем такое делать, не пойму..
     
  14. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.230
    Симпатии:
    1.715
    Адрес:
    Молдова, г.Кишинёв
     
  15. Kutuz

    Kutuz Новичок

    С нами с:
    10 апр 2016
    Сообщения:
    15
    Симпатии:
    0
    либо websocket либо посыл ajax pull на сервер каждые N секунд , на который сервер должен отдать список тех изменений которые ты еще не увидел или список изменений с того момента как клиент последний раз уже отправлял такой ajax pull , а клиент в итоге обрабатывает эти изменения в DOM странице.
    Но WebSocket эффективнее, AJAX на его фоне как костыль в такой задаче