[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Обновление данных через AJAX
Platinum
Всем привет!
Как можно реализовать асинхронную передачу данных через ajax?)
Пишу чат на div'ах, надо сделать чтобы сообщения выводились потоком в див...
Лучше конечно чтобы было так..
Сообщение отправил -> сервер сохранил его -> тут же выдал его (добавил всем юзерам)
Ну или хотя бы каждые 2 секунды проверка новых сообщений.. т.е. принудительный запрос...

(была создана такая же тема, но нужны люди понимающие js)) Я в нём не оч)) )

p.s. вот кусок кода) но может это не то)) (библиотека jQuery подключена)

<script type="text/javascript">
{
$.ajax({
url: "head.php",
cache: false,
success: function(html){
$("#head").html(html);
}
}
);
}
</script>




Спустя 2 минуты, 30 секунд (18.12.2009 - 22:55) VolCh написал(а):
Ты бы привёл свой JS скрипт и спросил как его вызывать каждые 2 секунды wink.gif

Отправить сервером всем сообщения - это задача и сервера, и клиента, причём задача не простая

Спустя 1 день, 23 часа, 53 минуты, 12 секунд (20.12.2009 - 22:48) Platinum написал(а):
Этот код пашет, только идет большая нагрузка на проц, грузится сильно браузер..
Думаю из за частых проверок на новые сообщения... не могу понять как сделать чтобы не было такой нагрузки

Спустя 2 часа, 9 минут, 37 секунд (21.12.2009 - 00:57) Platinum написал(а):
Всё, вроде сделал чё то...

<script type="text/javascript">
function upd_message() {
{

$.ajax({
url: "head.php",
cache: false,
success: function(html){
$("#head").html(html);
}
}
);
}

}

setTimeout(upd_message, 800)
</
script>

Поставил тайм-аут на 0.8 сек, нагрузка понизилась, но немного всеравно есть, т.к. всеравно идёт проверка. почти каждую 1 сек..

Спустя 9 минут, 4 секунды (21.12.2009 - 01:06) VolCh написал(а):
Может потому, что каждый раз переписывается полностью содержимое div'а? Если переписать head.php так, чтобы отдавал только новые сообщения, то нагрузка поменьше пойдёт?

Спустя 16 часов, 11 минут, 41 секунда (21.12.2009 - 17:18) Platinum написал(а):
Я вроде понял почему была нагрузка браузеров...
Пока проверяются данные, циклом while грузятся сообщения, после опять обновляется и.т.д..
Хотя незнаю даже.. но на сервер нагрузки нету, только на клиентской стороне.
Ну вроде помогает setTimeout smile.gif Поставил задержку 850 мс, работает без сильных нагрузок smile.gif
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.