![]() |
|
![]() ![]() ![]() |
|
Irokez |
|
|||
![]() индеец ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1180 Регистрация: 20.10.2004 Репутация: нет Всего: 53 |
Буду благодарен за любые материалы по этой технологии, а также за ответы на следующие вопросы:
1) Как грамотно спроектировать веб-интерфейс, который будет работать на технологии AJAX, а именно какие части интерфейса (и в каких случаях) должны быть обновляемы черех AJAX, а какие обновлением страницы, или переходом на новую? 2) Что должен возвращать сервер: готовый HTML код, который вставляем вместо старого или данные в виде XML используя которые с помощью JavaScript обновляем страницу? Возьмем к примеру интерфейс управления баллами студентов по предметам, пусть данная система состоит из таблицы, где для каждой фамилии будет идти ряд баллов по каждому предмету, преподаватель может редактировать баллы любого предмета нажатием кнопки "редактировать" - в этом случае вместо таблицы откроется форма, где можно будет редактировать любой балл студента, после нажатия "сохранить" данные будут сохранены и снова появится таблица баллов всех студентов. Мои вопросы по примеру: 1) Как стоит осуществлять переход от таблицы к форме и обратно? Должен ли сервер возвращать сначала HMTL код формы, а после сохранения - таблицы, или только данные, по которым у клиента будет строиться форма и таблица? 2) Допустим будет еще один модуль - управление преподавателями и ссылка на него. Стоит ли делать переход на данный модуль как на другую страницу, т.е. просто ссылкой или также через AJAX? Прошу простить если вопросы поставил некорректно, с технологией знаком поверхностно, но очень хочу применить ее грамотно на практике. |
|||
|
||||
Black |
|
||||||||||
![]() Web-Development ![]() ![]() Профиль Группа: Участник Сообщений: 980 Регистрация: 15.8.2004 Репутация: 2 Всего: 45 |
Irokez
нет, все гораздо проще. ты с помощью AJAX передаешь на сервер например такие данные: student.php?newball=5&id=45 Скрипт получает данные, записывает в базы и т.д. Затем возвращает такой код:
Вот и все. В таблице будет изменена цифирка у студента, которому ее поменяли. Чтобы АЯКС исполнил строку которую вернул PHP-скрипт пишем:
Скрипт PHP должен еще заголовок такой отдавать:
Т.е. типа мы текст возвращаем, а не HTML-код. А таблицу формировать следующим образом:
согласен. Я уже ее юзаю во всю ![]() -------------------- Могу все, но ничего не умею :-) |
||||||||||
|
|||||||||||
Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 1 Всего: 261 |
А можно для нуба дать линк на то, что из себя этот AJAX представлеят?
Жлательно спецификация или архитектура. |
|||
|
||||
Irokez |
|
||||||||
![]() индеец ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1180 Регистрация: 20.10.2004 Репутация: нет Всего: 53 |
я так не думаю ![]()
не думаю, что это хорошее решение, лучше уж передать только 5, а клиент сам выполнит остальное
страшно как-то.. а вдруг XSS? Добавлено @ 19:20
неплохая ознакомительная статья http://www.computerra.ru/hitech/39239/ больше ничего путного не нашел, поэтому прошу помощи на форуме ![]() |
||||||||
|
|||||||||
Black |
|
||||||||
![]() Web-Development ![]() ![]() Профиль Группа: Участник Сообщений: 980 Регистрация: 15.8.2004 Репутация: 2 Всего: 45 |
Irokez
а я думаю :-)
просто пять??? ну ладно тогда возвращай пять и делай так:
Где замена будет менять то что надо на переданный ей текст.
какой XSS??? твой же скрипт возвращает текст. -------------------- Могу все, но ничего не умею :-) |
||||||||
|
|||||||||
Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 1 Всего: 261 |
Ну все ясно..
В принципе замена несовершенному во многом javaScript, которая соединена с XML, это хорошо. В принципе тут уже этот подход один товарищ продвигал: http://forum.vingrad.ru/index.php?showtopi...77&unread=1&hl= http://forum.vingrad.ru/index.php?showtopic=54426&hl= |
|||
|
||||
Irokez |
|
||||
![]() индеец ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1180 Регистрация: 20.10.2004 Репутация: нет Всего: 53 |
спасибо, я знаю как осуществить обновление страницы и знаю как работает XMLHttpRequest ![]() я не знаю как грамотно спроектировать интерфейс и прошу ответов на поставленные вопросы. Добавлено @ 19:34
сорри, но это совсем не то |
||||
|
|||||
Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 1 Всего: 261 |
ПОчему же. Пусть он это несколько не корретно выразил, но суть-то к архитектуре работы ИМХО очень похожая. |
|||
|
||||
Irokez |
|
|||
![]() индеец ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1180 Регистрация: 20.10.2004 Репутация: нет Всего: 53 |
первая ссылка содержит бредовый спор о преимуществе флеша над фронт пейджем, а вторая об ограничении тегов в HTML ![]() |
|||
|
||||
Иль |
|
||||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 544 Регистрация: 3.3.2005 Где: Москва Репутация: нет Всего: 14 |
Зашел сюда и думаю, что ж за технология такая новая, почему не слышал, почему ж по ней статей так мало (на мысли не наводит?). Надо не отстать от жизни, нырнул - а зря.
Ну вообще Я применяю эту технологию. Так строчку с сервера в 1кб в 0,5мБ HTML превращаю, но все по порядку. Irokez, да нет никакой технологии. Ты попался, это удочка. Рассматривай AJAX как проект. Просто есть JS ![]() ![]() Поднастроили мальца сервер + PHP (кстати, сильно облегчили хостерам жизнь), взяли статичные старые технологии HTML и CSS, взяли JS (основа всему ![]() ![]() ![]() ![]() Елки и спустя 6 лет, если не брать в расчет нульфрейм, зачем-то эту смесь обозвали красиво. Как приятно, теперь я один из избранных. Я не просто знаю Apache, PHP, CSS, HTML, JS, я владею технологией AJAX. УРА товарищи!!! Слава партии! Особенно меня убила фраза "... причисляет человека к сонму людей, идущих не то чтобы в ногу со временем, а даже слегка впереди" в купе с датой написания статьи от 16.06.05. Читая думал, что максимум 2003. Какой переворот, какая революция??? Заглушка на тощие каналы пользователей и ограничения хостеров на работу скриптов и баз данных, позволяющая перекладывать вычисления на сторону пользователя. У кого контент мультимедийный (картинок хватает) это вообще капля в море.
Mal Hack, уважаю, читал посты, но ща за тебя возьмусь ![]() ![]() Вообще не хороший пунктик прослеживается в твоих мыслях, обрати, пожалуйста, внимание. Как ты себе представляешь в таком разношерстном геморрое как клиентская сторона замену JS. Там совершеннее ничего и нету. Потом AJAX расшифровывается как асинхронный JavaScript + XML. Подмывает перечислить несовершенства PHP 5 ![]() ![]() Ты не так понял. Никто нечего не меняет, без JS это не будет жить. На самом деле ужасно интересна точка зрения со стороны. Что несовершенного в ИМХО идеальном JS? Я не обижаюсь, я люблю оба языка и базы данных тоже все люблю ![]() -------------------- Ты виндусятник?... А я да. ![]() |
||||||||
|
|||||||||
Irokez |
|
|||
![]() индеец ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1180 Регистрация: 20.10.2004 Репутация: нет Всего: 53 |
сорри Иль, в посте слов много, а смысла нуль..
|
|||
|
||||
Sardar |
|
|||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 4 Всего: 317 |
Иль согласен во всём кроме XML/XSLT
Немного истроии: XmlHttpRequest это один из интерфейсов msxml, которым все могут пользоваться из C/C++/VB, а также из браузера JS/VBS под ИЕ. W3C не могла подойти со своим стандартом, а народ полюбил фичу(кстати с ИЕ5.5 началось по моему), вот мозилла и Опера тоже имплементировали этот обьект. Под IE это обычный ActiveX, как и любые другие обьекты, например XMLDOM(IE не поддерживает DOM2, создание документов как мозилла). НО XmlHttpRequest это не просто обращение к серверу, это удобная фича опрашивать вебсервисы и форматировать результат с помощью XSLT. Я сейчас при выводе таблиц отдаю клиенту XML, который трансформируеться на клиенте в XHTML таблицы. Вообще вебсервисы это мощная вещь, а XmlHttpRequest позволяет работать с ними из клиента(толстый клиент). Именно за этим стояла идея(потому он и XMLHttpRequest). А то что народ просто текст или JS код подгружает и эвалюирует потом, ну дык на то она и свобода ![]()
Не совсем так, можно в теле HTTP запроса отправить полный XML документ, другое дело что "нафига" ![]() Точно не уверен, но есть "технология" REST, "позволяющая" отправлять параметры серваку GET/POST, а назад получать XML. Как видишь "новыми технологиями" могут назвать что угодно)) Xотя ИМXО общаться XML(SOAP/XML-RPC) гибче, но редко нужно для странички ![]() А вообще Иль не стоит столько сарказма, человек не может "знать всё" и возможно есть вещи от тебя, которые бы "улыбнули" других ![]() -------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
|||
|
||||
Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 1 Всего: 261 |
Поясни, я не совсем тебя понял. |
|||
|
||||
Иль |
|
||||||||||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 544 Регистрация: 3.3.2005 Где: Москва Репутация: нет Всего: 14 |
Mal Hack, вот твоя фраза:
AJAX это не замена "несовершенного во многом" javaScript. Также интересно, что, по мнению опытного в WEB человека, в JS не совершенного? Я спрашиваю не для спора, а чтоб сложить это со своим мнением. Потом мне несовершенность JS не видется.
Sardar, поражает твоя осведомленность, ты как энциклопедия. По предмету: считаю статью вредной. Потом я жажду таких улыбок, они идут на пользу мне ![]() ![]()
это не так. Хоть понял, что это не технология?
Уверен? ![]()
Применить ее грамотно, значит грамотно строить логику на JS, грамотно пользоваться JS, если, конечно, с WEB сервером легко управляешся.
Все в твоих руках. Например, если нужно одобрение поисковиков, то строй сайт с перехождением на новую страницу для разных тематик. Если это что-то корпоротивное, то можеш все построить на одной единственной странице. И никаких обновлений страницы, забудь.
В зависимости от того, как ты построиш клиентскую сторону. Важно не что тебе вернет сервер, а что ты будеш делать на клиентской стороне. От этого и строй чего будет сервер передавать. -------------------- Ты виндусятник?... А я да. ![]() |
||||||||||||||
|
|||||||||||||||
Irokez |
|
||||||||||||||||||||
![]() индеец ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1180 Регистрация: 20.10.2004 Репутация: нет Всего: 53 |
а я должен был это понять?
??
при чем тут WEB-сервер?
какие поисковики?? в посте я привел пример проектируемой системы, зачем системе идексация в поисковиках?
как раз таки наоборот, клиентскую сторону я буду строить в зависимости от того, что будет передаваться сервером |
||||||||||||||||||||
|
|||||||||||||||||||||
Иль |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 544 Регистрация: 3.3.2005 Где: Москва Репутация: нет Всего: 14 |
О, какой ты. Я писал потив названия темы и не только для тебя. Раз ты не проникся, значит прекрасно справишся сам. Уже нет желания тебе помогать в примере, тк нет точек соприкосновения. Тебе обязательно кто-нибудь другой поможет. Успехов -------------------- Ты виндусятник?... А я да. ![]() |
|||
|
||||
Irokez |
|
|||
![]() индеец ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1180 Регистрация: 20.10.2004 Репутация: нет Всего: 53 |
спасибо.. разберусь сам... модераторы, плиз закройте тему, больше обсуждать тут нечего... |
|||
|
||||
Sardar |
|
|||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 4 Всего: 317 |
Всё народ, сарказм в сторону. Подумаем что же есть AJAX - Асинхронный JavaScript плюс XML. Другими словами это модель построения вебклиентов, способных интерактивно(real-time) обмениваться информацией с сервером, преимущественно в формате XML. Да, ничего большего и JavaScript никуда не уходит, он по прежнему в главной роли. НО за этими словами скрываеться глубокий смысл
![]() Традиционно веббраузер запрашивает страницу, передавая если нужно параметры. Сервер отдаёт готовый (X)HTML документ. Если хотим отделить элементы навигации от данных, то обычно используем (и)фреймы, что достаточно криво и натерпелось критики. Теперь отвлечёмся на сервер. У нас есть некое вебприложение/вебсервис, статичные странички AJAX'ом не пользуються, смысла нет ![]() И так придём к модели вебсервиса(SOAP/XML-RPC пока отложим в сторону, придумаем собственный диалект XML). Следующая ключевая особенность это скорость передачи данных "в обе стороны". Допустим в нашей CMS, в файловом менеджере "открываем окошко" с директорией, опрашиваем сервер, "мгновенно" получаем листинг файлов. В трафике никакой лишней инфы, на точных запрос, получаем точно запрошенные данные. Кстати передача инфа по HTTP зачастую жмёться gzip'ом, поэтому XML "мозги не сушит" ![]() И так к итогу о сервере. Сервер являеться "особым" либо полноценным вебсервисом. Он не различает типы своих клиентов и отдаёт инфу в XML по HTTP. Клиентом выступает браузер+AJAX, клиент на дельфях/VB/etc либо что угодно другое. Принимаеться единственное соглашение о способе опрашивания сервера. Это может быть SOAP/XML-RPC, но это довольно громоздко. Проще отсылать параметры "дедовским" GET/POST/Header методом. Теперь о клиенте. Раз клиент больше не получает полной разметки, он должен быть "полноценным"/толстым клиентом, со своей "подситемой" XSLT трансформаций и прочим XML related кодом(к слову помимо DOM/XPath ещё есть ECMAScript for XML (E4X) - не плохая вещь, поддерживаеться мозиллой). Так с XML работаем, теперь нужен механизм опроса сервера. Для этого в MS придумали и реализовали интерфейс XMLHttpRequest, как часть msxml библиотеки. Вещь не только для веба, сколько общий механизм для всех виндовых приложений, пользующихся ActiveX технологией. Сервер опросили, инфу достали, работать с ней можем. Осталось показать. Браузер может нормально работать с разметкой. Разметкой может быть (X)HTML+CSS или XML+CSS - что не особо удобно. Собрали схемы трансформаций XSLT, преборазуем инфу на клиенте, получаем документ, средставми (HTML) DOM ставим это дело на страницу. Так работает gmail.com например. Как альтерантива можно построить нормальный GUI пользуясь XUL под мозиллу. Весьма мощная вещь, ИЕ ответит своим XAML. Также будет поддерживаться векторная графика обоими браузерами, мозилла уже анонсировала свои <canvas>. И так можно будет строить GUI внешне ничем не отличающийся от обычного приложения, естественно возможности как для разработчика, так и для пользователя очень широкие. И так к итогу о клиенте. На основе браузера можно построить мощного("толстого") клиента, благодаря поддержке браузером многих веб-технологий, API который можно использовать из под JavaScript(и не только, но другие языки не популярны). К тому же если брать такие мощные платформы как мозилла, то можно найти не плохую библиотеку JSLib, серьёзно облегчающую программинг. Под ИЕ можно найти "компонентную" технологию bechaviors, позволяющую буквальном смысле делать "модульный JavaScript", также ИЕ имеет поддержку ActiveX, позволяющую ему задолго до выходов стандартов иметь поддержку передовых технологий. Тот же DOM XML и остальное реализованно как ActiveX, а не API браузера. Вывод: AJAX это способ по новому представить что же есть клиент, а что сервер. Убедиться в мощи и расширяемости XML. Поудивляться тожу что уже реализованно в области XML ![]() ![]() ![]() -------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
|||
|
||||
Irokez |
|
|||
![]() индеец ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1180 Регистрация: 20.10.2004 Репутация: нет Всего: 53 |
Sardar спасибо, суперский пост.. завтра утром вопросы подготовлю
![]() |
|||
|
||||
foRaver |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 561 Регистрация: 6.7.2003 Где: Düsseldorf Репутация: нет Всего: 3 |
нашел немного шире инфы по AJAX'у... кто хочет, может ознакомиться.
|
|||
|
||||
foRaver |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 561 Регистрация: 6.7.2003 Где: Düsseldorf Репутация: нет Всего: 3 |
||||
|
||||
POLTER |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 123 Регистрация: 25.8.2006 Где: Ростов-на-Дону Репутация: нет Всего: 2 |
Здравствуйте!!!
А воту меня такой вопрос: Можно ли с помощью аякса просто исполнять скрипты на сервере, без использования XML? --------------------
Существует 10 типов людей: те, которые понимают твоичный код и те, которые его не понимают. |
|||
|
||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Продвижение и оптимизация сайтов | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |