Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > JavaScript: Наши скрипты > JSInteractiveRequest |
Автор: Sardar 28.5.2005, 04:15 |
Ещё не готово, подождите ![]() Реализованна серверная сторона: PHP, ещё бы Java Клиентская сторона на JavaScript. Скрипт позволяет интерактивно обмениваться данными между клиентом и сервером. Принцип загрузки не нов, основан на подкачке скриптов. Интересные моменты этой реализации:
Код хорошо документирован. Если не понимаем, то лучше не трогайте и ждите нормального мана ![]() Всем кто захочет потестировать/поковыряться в коде большой пасиб, ссылки: http://sardar.vingrad.ru/JSInteractiveRequest/index.htm http://sardar.vingrad.ru/JSInteractiveRequest/JSInteractiveRequest.js http://sardar.vingrad.ru/JSInteractiveRequest/JSInteractiveRequest.php?source На тестовой странице видим:
![]() ![]() |
Автор: Aliance 28.5.2005, 13:50 |
Sardar Зашел по ссылкам:
А идея как у (JS|XML)HttpRequest`а? Работа с сервером без перезагрузки страницы? |
Автор: Sardar 28.5.2005, 15:32 | ||
Угу, тот же подход как у JSHttpRequest, но написал на мой взгляд лучше. Инфа перед отправкой сериализуеться в особый(трудно читаемый ![]() |
Автор: Aliance 28.5.2005, 15:36 |
Где посоветуешь такое пременять, кроме чатов, предпросмотра чего-либо и, возможно, проверок форм (наличие ника в БД)? Просто я пока сильной нужды в этом узреть немогу ![]() |
Автор: diam 28.5.2005, 20:27 |
Sardar, извини, я ещё не посмотрел код (точнее, начал смотреть, но он большой ![]() 1. Зачем используются cookie? 2. Про какое шифрование ты говорил? 3. Ты отправляешь данные в UTF-8. Они перекодируются на сервере? 4. Почему не UTF-16? Они же больше символов в себя вмещают. З.Ы. На текущий момент с подгрузкой без перезагрузки решил все проблемы, кроме передачи файла на сервер ![]() ![]() З.Ы.2. По всякому утыкивал XMLHttpRequest. Так и не получается отправить методом POST. Посему никак не пойму - да нафига такая му-му? |
Автор: Sardar 28.5.2005, 20:44 | ||||||||||
Это один из вариантов отправки данных. В куках можно отправить 4кб против 1кб GET'ом
Так как текст в юникоде, то на русских текстах получим большую избыточность. Порешать это можно сжатием. Словарные и символьные(хафмана, PPM) не подходят(сложны для JS и малоэффективны в этом случае). BWT преобразование, а затем кодирование DC даст офигенный результат ![]()
Да, так я не завишу от кодировки на клиенте. НО, ввиду ограниченности PHP(он работает с однобайтовыми строками) приходиться перекодировать всё в локальную(серверную) коридовку и обратно.
Ты не совсем прав, UTF это способ сериализации(записи) юникодовского текста (UCS-2(4)). В UTF-8 минимальный символ состоит из одного байта(совпадают с ASCII), в UTF-16 минимальный символ из двух байт. UTF-8 популярен, так как на английских текстах не имеет избыточности. Оба способа сериализуют по момему UCS-4, 4 байтовый юникод. В любом случае все популярные языки в нём есть ![]() Файл отправить не иначе как формой нельзя(исключаем разного рода фичи ИЕ, что закрываються после каждого нового сервиспака). Любой браузер очень щепитильно относиться к отправке файла, иначе можно всю конфиденциальную инфу юзера незаметно выкачать ![]() На текущий момент отослать файл можно только формой, имя файла может задать только юзер и никак иначе. Добавлено @ 20:46
Разного рода live фичи, типа живого поиска по форуму. Писал для себя, для своего проекта, так что для себя применение я нашёл ![]() |
Автор: diam 28.5.2005, 21:26 | ||
Это есть в JS, или ты сам это напишешь? |
Автор: Sardar 28.5.2005, 22:02 | ||
Сам, алгоритм пока не сложный... |
Автор: Elfet 6.9.2005, 20:04 |
Sardar Что-то я не понимаю как это работает ![]() ![]() |
Автор: Aliance 6.9.2005, 20:12 |
Вот, пожалуйста, чат, написанный на XMLHttpRequest: http://www.plasticshore.com/projects/chat/index.html |
Автор: Elfet 6.9.2005, 20:23 |
Из той статьи вроде понял как это работает, но соовсем не понял как это использовать ![]() ![]() Добавлено @ 20:27 Aliance Как этот чат работает тоже понять немогу ![]() |
Автор: Aliance 6.9.2005, 21:02 |
Elfet Введи в поиск HttpRequest и прочти все темы, многому научишься! |
Автор: fregs 10.11.2005, 17:48 | ||||
крыша под конец рабочего дня уже плавится... взялся разбираться и сел на задницу... сам вызов то как сделать? мне нужно получить содержимое страницы t1.php?t=23 рисую в жскрипте примера
вызываю, смотрю через liveHTTPheaders вижу GET /vb/int_req.php?3561&conspec=sid465154553sc402&condat=t51.php%3Ft%3D5253 HTTP/1.1 ответ 200... хорошо хорошо... но ответа не вижу |
Автор: Sardar 11.11.2005, 01:03 | ||
Ты обращаешся к странице mods/fstrange/int_req.php, которой передаёшь параметром 't1.php?t='+id, на сервере соотвественно нужно понять JSInteractiveRequest класс, опросить параметры и echо результат. Вообще найдены ошибки работы скрипта с Оперой 8 и Нетскейпом 8, фиксить нет времени пока. Советую воспользоваться JSHttpRequest от Дмитрия Котерова на dklab.ru |