|
|
|
| Добрый всем день.
Речь про добавление описаний к фотографиям Вконтакте.
Если зайти в свой фотоальбом, кликнуть фото, под ним описание. Чтобы его отредактировать описание - просто щелкаешь мышью на текст и появляется форма, редактируешь, щелкаешь в пустом месте и вуаля! На какой технологии это сделано?!
А ведь этот текст уходит в базу данных.
Хочу освоить эту технологию, но не знаю куда копать.
Поделитесь, кто знает? | |
|
|
|
|
|
|
|
для: Boris
(30.01.2014 в 07:03)
| | Javasript | |
|
|
|
|
|
|
|
для: Boris
(30.01.2014 в 07:03)
| | а точнее AJAX, если таки текст все же уходит в БД | |
|
|
|
|
|
|
|
для: Valick
(30.01.2014 в 09:51)
| | На AJAX ничего нельзя сделать, это просто объект браузера выполняющий сугубо узкую задачу. А делать надо JS. | |
|
|
|
|
|
|
|
для: confirm
(30.01.2014 в 10:09)
| | позвольте с вами не согласится
AJAX - это технология "фоновой" передачи данных от клиента к серверу и получение ответа таким же "макаром" (грубо говоря). В данном случае AJAX = JS + PHP.
http://ru.wikipedia.org/wiki/AJAX | |
|
|
|
|
|
|
|
для: Valick
(30.01.2014 в 10:34)
| | Не надо городить ерунды, Ajax как объект никакого отношения не имеет ни к JS, ни к РНР. То что он делает сетевой запрос и ожидает ответа еще не означает, что он каким-то боком принадлежит РНР, а то что с этим объектом работают в JS не означает, что он принадлежит JS.
При установке IE, этот объект (XMLHttpRequest) вообще будет зарегистрирован в системе, и его с успехом можно использовать и в других языках программирования, в том же VB или VBS.
Так что не надо все мешать в кучу. С помощью Ajax вы не сможете решить ни одной мало мальски задачи с объектами на странице, даже поместить тот же ответ сервера на страницу, для этого потребуется JS.
Думайте когда советуете. | |
|
|
|
|
|
|
|
для: confirm
(30.01.2014 в 10:58)
| | сходите чтоль в википедию почитайте...
AJAX — не самостоятельная технология, а концепция использования нескольких смежных технологий. AJAX базируется на двух основных принципах:
использование технологии динамического обращения к серверу «на лету», без перезагрузки всей страницы полностью, например:
с использованием XMLHttpRequest (основной объект);
через динамическое создание дочерних фреймов[1];
через динамическое создание тега <script>[2].
через динамическое создание тега <img>, как это реализовано в google analytics.
использование DHTML для динамического изменения содержания страницы;
|
Впервые термин AJAX был публично использован 18 февраля 2005 года в статье Джесси Джеймса Гарретта (Jesse James Garrett) «Новый подход к веб-приложениям»[3]. Гарретт придумал термин, когда ему пришлось как-то назвать новый набор технологий, предлагаемый им клиенту.
Однако в той или иной форме многие технологии были доступны и использовались гораздо раньше, например в подходе «Remote Scripting», предложенном компанией Microsoft в 1998 году, или с использованием HTML элемента IFRAME, появившегося в Internet Explorer 3 в 1996 году.
XMLHttpRequest - это объект.
AJAX - это технология. Запишите это себе огромными буквами. | |
|
|
|
|
|
|
|
для: Valick
(30.01.2014 в 11:18)
| | В помойку эти тезисы.
Запрашиваемый сетевой ресурс может быть исполнятся PHP, ASP, JAVA, и т.д., и т.п., или вообще написан компилирующим языком и быть исполняемым файлом. XMLHttpRequest можно использовать не только в JAvascript. Кто выдумал, что Ajax = PHP + JS, или это ваши измышления?
Ajax это технология, метод (как хотите называйте) асинхронного обмена данными с сетевым ресурсом, в основе которой лежит объект XMLHttpRequest, который обладает не таким и большим набором методов, среди которых и подавно нет методов работы с DHTML.
Ajax для выше поставленной задачи придется использовать для обмена данными с сервером, а вот саму задачу, которая в зависимости от данных подлежащих редактированию может быть не хилой по объему придется решать с помощью Javascript. Впрочем, если вы такой умелец, напишите что либо действительно с использованием самой Ajax, поставлю коньяк.
Напишите себе, можете и не жирным - Ajax != PHP + JS. | |
|
|
|
|
|
|
|
для: confirm
(30.01.2014 в 11:34)
| | Вы намернно искажаете факты?
Вы как бы не заметили примечане "в данном случае"?
Хорошо, будем бороться с вами вашими же приемами, пишите приложение на чистом JS которое будет заносить что-то в БД, без использования технологии AJAX. | |
|
|
|
|
|
|
|
для: Valick
(30.01.2014 в 11:43)
| | Ну елки палки. Вам что по простому объяснит что весь Ajax, это десяток строк, все. Чтобы писать динамические страницы на клиенте, нужно изучать не Ajax, это всего лишь удобное подспорье, а Javascript. Вы его к примеру знаете поверхностно, а посему зная Ajax как таковой ничего ведь не сделаете.
Основы надо изучать, а технологии только прилагательное к ним. Я написал на чем это надо делать, а ваше ценное уточнение к посту "А точнее Ajax...".... Ну что смеяться то?
По серьезнее, Valick ) | |
|
|
|
|
|
|
|
для: confirm
(30.01.2014 в 11:53)
| | я говорю об Ajax именно как о технологии
Если кто-то там написал
ajax = new XMLHttpRequest;
это уже не мои проблемы :)
Вам что по простому объяснит что весь Ajax, это десяток строк, все
со стороны JS да, и с этим никто не спорит | |
|
|
|
|
|
|
|
для: Valick
(30.01.2014 в 13:28)
| | Ну вы меня удивляете )
Со стороны JS там может быть только alert(данные возвращенные сервером) и все, и кто скажет что это не Ajax в данном случае, тот просто ничего не смыслит.
Поставлена задача. Решаем.
Нужно ли нам тревожит сервер для того чтобы изменить текст на странице? Нет, не нужно. Если текст весь, что мне мешает посредством JS добавить форму, в ней необходимое поле, взять это текст со страницы и поместить его в форму? Ничего не мешает, поэтому так и делаем. Если сервер при выдачи страницы помнит пользователя, которому она принадлежит чтобы в последствии разрешить эти изменения, то более ничего в форме и не нужно. В противном случае на страницу надо передавать и идентификатор пользователя, который поместить в форум как "паспорт" тоже не проблема.
Все, задача решена и без всякого Ajax. Отправляем форму, сервер сверит паспорт и ....
Скажете не катит что Ajax нет? Рано радуетесь в таком случае, будет вам и аля-Ajax. )
Добавляем на страницу кроме формы невидимый IFRAME, имя которого указываем в атрибуте target формы, и опля - вот вам и Ajax, ответ приходит на страницу и страница не перегружается. Скажите некомфильно потому как не видно? Рано )
Невидимый он потому, что нам нафик не нужен, и мы по событию onload IFRAME будем получать содержимое его тела и загружать в подготовленный для этого DIV, и не только увидим ответ, но он будет пользоваться и стилями родительского фрейма!
Ну а если ответ не html, а например JSON, ну какая проблема зная JS с этим не разобраться?
Ну как, и где тут Ajax равный РНР + JS? Но тем не менее задача решена, и решена на клиенте, и для этого нужно знать JS и DOM в первую очередь, а не эфемерные модные технологии. Голое знание их ничего не дают.
Или к примеру, я как супервизор своего сайта писал бы для себя административную часть как приложение, с использованием html, в котором бы использовал не только JS, но обязательно и VB, другие нужные скрипт-языки, которые бы также с успехом использовали XMLHttpRequest, и вообще доступный инструментарий ОС. Это дает массу плюсов - от обработки данных на клиенте, которые ранее приходилось загружать на сервер ради их обработки, до других многих "вкусностей". Обмен с сервером "сырыми" данными, так как шаблоны интерфейса админки тоже на клиенте. И причем тут Ajax в том понимании как вы себе его представляете?
За словом технология, которая в рамках веб-страницы подразумевает, что "нечто основное" выполняет JS, но именно он, как язык программирования, а ни как Ajax, о котором достаточно прочесть с десяток строк и изучили, или раз увидеть десяток строк кода, и даже не понимая их использовать это "чудо". Но если не знать Javascript, то понту от этого не будет. | |
|
|
|
|
|
|
|
для: confirm
(30.01.2014 в 14:05)
| | ай да ну тебя вас, ухожу пить водку с пивом, завтра прочитаю, осмыслю и скорее всего не буду отвечать, у меня так много букав не получится :) | |
|
|
|
|
|
|
|
для: Valick
(30.01.2014 в 14:53)
| | Шурику что говорили - "Пойми, студент, сейчас пить коньяк надо помягче, а на вопросы смотреть ширше" | |
|
|
|
|
|
|
|
для: confirm
(30.01.2014 в 16:07)
| | а теперь самый важный вопрос!
внимание!
вообще в приделах подобного примера - нажал на текст - получил поле - изменил текст - нажал в не поля - ушло на сервак, надо ли использовать аякс или с фреймом в полне адекватно???
то есть тут как обычно глупая проблема выбора, стоит ансихроно отправить запрос на запись или пусть форма отработает???? | |
|
|
|
|
|
|
|
для: moonfox
(30.01.2014 в 18:41)
| | >а теперь самый важный вопрос!
Какой, пить ли вам чай с сахаром или без? Какой по вкусу такой и пейте. А если IFRAME или Ajax, так надо понимать различия и возможности, знать о неприятных моментах первого.
Если же "нажал в не поля - ушло на сервак", то это о чем, трагедия или не понимание как делать? | |
|
|
|
|
|
|
|
для: confirm
(31.01.2014 в 07:49)
| | это то, как работает в ВК
не обязательно кнопку нажимать
засабмитить форму можно и на дополнительном событии - все равно придется использовать js для наворотов хотя бы как в ВК.
и по поводу возможностей - вопрос не в возможностях
а в данном простом примере, в котором вы не ясно зачем фрейм вспомнили, то ли для поучения, то ли как призыв к действию....
я просто никогда фреймы для подобного не использовал.... я наверно вообще с фреймами никогда не работал (боялся их)
вот стало любопытно, так как, сия простая задача вот так просто решилась без лишних заморочек. | |
|
|
|
|
|
|
|
для: moonfox
(31.01.2014 в 12:00)
| | >в котором вы не ясно зачем фрейм вспомнили, то ли для поучения, то ли как призыв к действию...
Перечитайте внимательно пост, поймете что побудило описать этот пример. | |
|
|
|
|
|
|
|
для: confirm
(31.01.2014 в 12:44)
| | а борис который не сталкивался с аяксом ваш пример примет как эталон имхо | |
|
|
|
|
|
|
|
для: moonfox
(31.01.2014 в 15:36)
| | Мне пофигу что он сделает, это не мои проблемы, думать нужно и изучать материал, а какой, я ему написал сразу.
А пример к неверному понимаю целей и задач решаемых Ajax. | |
|
|
|
|
|
|
|
для: moonfox
(31.01.2014 в 12:00)
| | вообще лучше использовать, иногда без iframe-ов очень туго. дело тут не в отправке запросов на серве без перезагрузки страницы, они очень помогают, когда надо какую-то отдельную часть сайта отделить, например инкапсулировать её стили/скрипты | |
|
|
|
|
|
|
|
для: Valick
(30.01.2014 в 11:43)
| | можно даже без js
<form method="post" action="todb.php" target="myiframe">
<input type="text" name="test"/>
<input type="submit"/>
</form>
<iframe name="myiframe" frameborder="0" width="0" height="0" style="display: none"></iframe>
|
Valick, с вас коньяк, желательно не младше vsop :) | |
|
|
|
|
|
|
|
для: psychomc
(30.01.2014 в 13:35)
| | коняк я начал пить совсем недавно, к сожалению
очень понравился Армянский коняк "Ной" :) | |
|
|
|
|
|
|
|
для: Valick
(30.01.2014 в 14:54)
| | ай не, в большинстве случаев все эти постсоветские коньяки не то. как правильно маркировка не соответствует действительности, со всеми вытекающими. не все конечно, но большинство. правда хороший коньяк и денег стоит
p.s я тоже не большой спец, но это мнение людей, которые в теме | |
|
|
|
|
|
|
|
для: Boris
(30.01.2014 в 07:03)
| | литературу посоветовать сейчас не могу, большинство моих книг куплено в период 2007-2008 года.
Например
"Ajax в действии" Дейв Крейн, Эрик Паскарелло
"AJAX и PHP Разработка динамических веб приложений" Кристиан Дари и т.д. (вообще 2006 год издания) | |
|
|
|
|
|
|
|
для: Valick
(30.01.2014 в 11:37)
| | Спасибо за дискуссию. Прочитал, еще раз перечитаю. | |
|
|
|