![]() |
|
Модераторы: Sardar, Aliance |
![]()
|
|
| Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 1 Всего: 71 |
Почитал многое что было написано о XMLHttpRequest , но ничего не понял... вернее не понял как это применять.
Может кто внятно и человеческим языком покажет на примере (прошу не давать на ссылки). Например: на страницу каждые 20 секунд должны с новой строчки дописываться данные с сервера (пусть это будет случайное число, которое генериться в скрипте на сервере) PS буду очень признателен, если кто выложит чат на XMLHttpRequest -------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
| Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 1 Всего: 71 |
тему поднимаю... Может кто-то что-то скажет?
-------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
| Sardar |
|
|||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 78 Всего: 317 |
Gold Dragon извини, но так много было обсуждено, просто пользуйся поиском. Также стукни к Opik'у, Elfet'у и другим, что уже чаты сделали. У Opik'a лучше, ибо юзает XML (как и положено), а не eval(reg.responseText) что даже отдельных слов не заслуживает для своей оценки...
-------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
|||
|
||||
| Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 1 Всего: 71 |
Sardar
да втом то и дело, что пользовался поиском, но ничего толкового не нашёл (или не понял), везде по чуть-чуть -------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
| Black |
|
|||
|
Web-Development ![]() ![]() Профиль Группа: Участник Сообщений: 980 Регистрация: 15.8.2004 Репутация: 4 Всего: 45 |
Sardar
Я тоже в чате использую reg.responseText и не вижу в этом ничего плохого. Для меня главное сократить траффик. А с XML больше траффика выходит. Хотя, согласен с тобой, что с XML - более правильно. Хотя не обязательно делать чат XML. -------------------- Могу все, но ничего не умею :-) |
|||
|
||||
| Sardar |
|
|||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 78 Всего: 317 |
Идея не в том что правильно, а в том что удобно. Вот ты подгрузил текст, или регами или eval'ом получил массив, скриптами отформатировал и поставил. А не подумал о том что XSL это гораздо удобней, клиентская логика упрощаеться то пары строк, применил стиль и всё. При чём меняя стили/вёрстку меняем внешний вид месаги, не влезая в JS код. Xотя кому как, можно и решетом воду носить, было бы желание -------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
|||
|
||||
| Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 1 Всего: 71 |
Народ, я всё конечно понимаю, но можно что-нибудь по сути вопроса
-------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
| Cheba |
|
|||
![]() pointless one ![]() ![]() ![]() Профиль Группа: Vingrad developer Сообщений: 1777 Регистрация: 27.11.2003 Где: /dev/null Репутация: 1 Всего: 62 |
Конкретный пример (без кода).
Твой же чат. Каждые 20 сек вызывается функция (на таймере висит она). Эта функция спрашивает у сервера все изменения, которые произошли за последние 20 сек. Сервер возвращет пачку новых строк. Твоя функция эту пачку красиво дописывает в конец разговора. Чем же это отличается от обчного рефрешевого чата? Ну, хотябы тем, что невыкачивается каждый раз весь разговор, а только та часть, которая добавилась/изменилась со времени последнего опроса сервера. Чем это отличается от обычного потокового чата? А тем, что поток считывания не открыт постоянно. Он закрываеся сразу после загрузки всего необходимого на клиент. А потом сервер регулярно опрашивается на предмет изменений. Применений у XMLHTTPRequest просто масса. Вот я только-что описал чат на нем. А вообще-то его можно применять для самых разных целей. Основная идея состоит в том, что нам не приходится загружать сразу кучу данных, чтобы потом их отображать по запросу пользователя. И не приходится на малейшее действие пользователя реагировать перезагрузкой страницы. У нас всегда в броузере имеется страница, которая управляет отображением данных. Сами же данные подтягиваются через этот объект с сервера по мере надобности. Таким образом пользователь получает данные быстрее (страница не перезагружается - с сервера берутся только данные) и только те, которые ему нужны. |
|||
|
||||
| Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 1 Всего: 71 |
Cheba
Принцип действия я понял, у меня проблемы с написанием этого.. Какие примеры не пробывал, почему-то не хочет всё работать. Вот и предложил показать пример, чтоб понять и дальше использовать -------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
| Cheba |
|
||||
![]() pointless one ![]() ![]() ![]() Профиль Группа: Vingrad developer Сообщений: 1777 Регистрация: 27.11.2003 Где: /dev/null Репутация: 1 Всего: 62 |
Ну, что же... Тогда держи вот пример с кодом.
Серверная часть (time.php) - отдает данные. В общем случае она должна смотреть на то, что у нее просят и в зависимости от запроса формировать данные. У меня же просто выдается XML с датой и времененм:
А вот клиентская часть. По нажатию кнопки будешь получать текущее врем и дату сервера.
Складываешь все это рядышком на сревере. Открываешь html-файл и давишь кнопку. Ну, и видишь результат, конечно. Проверялось на Лисе 1.5 и ИЕ 6. Работает. Будут конкретные вопросы - дам конкретные ответы. |
||||
|
|||||
| Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 1 Всего: 71 |
Cheba
Что-то тишина вот криплю свои файлы (вдруг где ошибся) Присоединённый файл ( Кол-во скачиваний: 8 )
www.zip 1,26 Kb-------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
| Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 1 Всего: 71 |
Всё народ, пример Cheba отлично работает (проблема была как всегда в лишних пробелах).
Принцип уяснил... Буду творить дальше -------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
| R.M. |
|
|||
![]() Анархист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2164 Регистрация: 8.6.2005 Где: Питер Репутация: нет Всего: 30 |
А если обновить страницу то вся инфа скидывается. Этого можно както избежать?
-------------------- Помнишь как бодрили дискотеки прошлого века? Теперь стул, компьютер и нету человека. Nokia LifeStyle - Всё для смартфонов Nokia |
|||
|
||||
| Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 1 Всего: 71 |
вот нашёл ещё очень хорошее объяснение с примером
http://mysitez.km.ua/Programming/?jshttpsend надеюсь что ссылка будет долгое время рабочей -------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
| Cheba |
|
|||
![]() pointless one ![]() ![]() ![]() Профиль Группа: Vingrad developer Сообщений: 1777 Регистрация: 27.11.2003 Где: /dev/null Репутация: 1 Всего: 62 |
1) у тебя урл не указан, наверное. 2) вторым параметром лучше передавать целое число, а не строку. Просто чтобы было удобней читать. 3) 1 - это сильно мало. У тебя броузер нагнется. Попробуй поствить хотябы секунду - 1000 милисекунд. 4) не помешало бы почитать документацию. Там хотябы параметры методов описаны описаны... |
|||
|
||||
![]()
|
| Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | JavaScript: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |