|
|
|
Правильная реализация ajax - как ?
|
|||
|---|---|---|---|
|
#18+
ShSergeИфреймов Вася, Василий, большие (или важные) данные я всегда передаю самым обыкновенным постом, с перезагрузкой страницы. Что Вы сами себе выдумали? Разве я что-то выдумал? Автор топика говорит о работе без перезагрузок Я тоже поддерживаю диалог в рамках этого контекста Выдумки тут все ваши :) пысы: Кстати, интересное разделение: важные данные - редирект, неважные - jsonp. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2012, 21:07:58 |
|
||
|
Правильная реализация ajax - как ?
|
|||
|---|---|---|---|
|
#18+
Ифреймов Вася пысы: Кстати, интересное разделение: важные данные - редиректрелоад, неважные - jsonp. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2012, 21:14:02 |
|
||
|
Правильная реализация ajax - как ?
|
|||
|---|---|---|---|
|
#18+
авторНичего сложного. При ajax-запросах нужно добавлять заголовок X-Requested-With=XMLHttpRequest, а на сервере его проверять. Если он есть, отдавать ajax-контент, если нет — ******всю страницу *******Вот это сложно, если толстый-клиент то зачастую рендеринг на клиенте и сервер отдает только джсон. как вы из жсона соберете "всю страницу" Да, это коффескрипт, я просто выдрал кусок из приложения и вставил как пример, на жаваскрипте то-же самое. Код: javascript 1. 2. 3. Этот код запрашивает данные у REST API сервера для ресурса '/applications' чтобы изолировать бизнес-логику от деталей протокола (хттп в нашем случае), тут нет кучи ненужных опций и прочего мусора который есть в jQuery.ajax (смысл не в том чтобы переделать хттп-коммуникацию а сделать более удобный АПИ, зачастую этот метод может использовать тот-же jQuery.ajax). > Чаще всего использую технологию, которые многие называют JSONP А как вы пост запросы с JSONP отправляете? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2012, 22:16:26 |
|
||
|
Правильная реализация ajax - как ?
|
|||
|---|---|---|---|
|
#18+
Точнее, сложность в следущем - создать толстого клиента на жаваскрипте само по себе сложно, тот-же заметно бакбоне сложней чем рельсы и пхп. Сделать дополнительно на бекенде серверную-генерацию хтмл (управлять и следить за эмуляторами браузеров) - делает эту задачу еще сложнее. Вобщем, на то что можно сделать на рельсах за неделю на бакбоне уйдет месяц. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2012, 22:21:11 |
|
||
|
Правильная реализация ajax - как ?
|
|||
|---|---|---|---|
|
#18+
Не совсем точно вставил код, поправка - получаем данные у сервера и печатаем их в консоль. Код: javascript 1. 2. 3. 4. если события или фьючеры нравятся больше чем коллбеки - тоже есть похожие варианты. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2012, 22:25:32 |
|
||
|
Правильная реализация ajax - как ?
|
|||
|---|---|---|---|
|
#18+
privateТ Вобщем, на то что можно сделать на рельсах за неделю на бакбоне уйдет месяц. Очень замечательно, что вы такой гик coffeescript/ror Но представьте, что одно другого не исключает Посмотрите вот этот сайт например http://airbnb.com/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2012, 22:45:44 |
|
||
|
Правильная реализация ajax - как ?
|
|||
|---|---|---|---|
|
#18+
privateавторНичего сложного. При ajax-запросах нужно добавлять заголовок X-Requested-With=XMLHttpRequest, а на сервере его проверять. Если он есть, отдавать ajax-контент, если нет — ******всю страницу *******Вот это сложно, если толстый-клиент то зачастую рендеринг на клиенте и сервер отдает только джсон. как вы из жсона соберете "всю страницу"Есть такое понятие как content negotiation . Если клиент в HTTP заголовке Accept указывает text/html, то отдаём ему HTML; если application/json - отдаём JSON; text/xml - XML; image/jpeg - картинку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2012, 10:32:00 |
|
||
|
Правильная реализация ajax - как ?
|
|||
|---|---|---|---|
|
#18+
автор*/* or text/html,application/xhtml+xml,application/xml; что будем отдавать - картинку, json, html, xml? + будешь на сервере делать ветвление? Код: sql 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2012, 11:36:54 |
|
||
|
Правильная реализация ajax - как ?
|
|||
|---|---|---|---|
|
#18+
автор> Есть такое понятие как content negotiation. Если клиент в HTTP заголовке Accept указывает text/html, то отдаём ему HTML; если application/json - отдаём JSON; text/xml - XML; image/jpeg - картинку Не в том дело, откуда на сервере возьмется ХТМЛ если ВЕСь рендеринг делается на клиенте, на сервере лежит (одна статическая пустая хтмл для начальной загрузки клиента, и все)? Предлагается писать код рендеринга дважды - и там и там что-ли? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.10.2012, 04:52:38 |
|
||
|
Правильная реализация ajax - как ?
|
|||
|---|---|---|---|
|
#18+
private...А как вы пост запросы с JSONP отправляете? Никак. Я постом пользуюсь только при вводе логина-пароля и отправке картинки, может быть, можно найти ещё пару редких исключений. То есть, хочу сказать, что при использовании аякса, не пользуюсь постом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.10.2012, 10:46:40 |
|
||
|
Правильная реализация ajax - как ?
|
|||
|---|---|---|---|
|
#18+
privateавтор> Есть такое понятие как content negotiation. Если клиент в HTTP заголовке Accept указывает text/html, то отдаём ему HTML; если application/json - отдаём JSON; text/xml - XML; image/jpeg - картинку Не в том дело, откуда на сервере возьмется ХТМЛ если ВЕСь рендеринг делается на клиентеА не делайте ВЕСь рендеринг на клиенте :) К примеру Twitter возвращается к генерации страниц на сервере . Также можно использовать один шаблонизатор как на клиенте, так и на сервере: - JavaScript на сервере, 1ms на трансформацию - Yate: Яндекс.Почта перешла на новый шаблонизатор - Write once, render anywhere — используем один шаблонизатор на клиенте и сервере Обязательно читайте комментарии к статьям, там есть полезные вещи :) P.S.: то, что вы познакомились с backbone.js - хорошо, но стоит знать и об альтернативах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.10.2012, 12:36:23 |
|
||
|
Правильная реализация ajax - как ?
|
|||
|---|---|---|---|
|
#18+
-JSON-автор*/* or text/html,application/xhtml+xml,application/xml; что будем отдавать - картинку, json, html, xml? + будешь на сервере делать ветвление? Код: sql 1. 2. 3. 4. 5. Зачем ветвление? Навскидку: - напишу для каждого определённого типа медиа свой Formatter (Converter); - засуну их в словарь, ключом кторого будет тип медиа; - если чего-то нет в словаре, как в вашем примере, то буду использовать класс по умолчанию, или тупо отдавать HTML. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.10.2012, 13:15:44 |
|
||
|
Правильная реализация ajax - как ?
|
|||
|---|---|---|---|
|
#18+
Или можно сделать split строке "text/html,application/xhtml+xml,application/xml", пробежаться по словарю и вызвать первый подходящий Formatter. Если последний не найден, то по умолчанию или тупо HTML :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.10.2012, 13:18:56 |
|
||
|
Правильная реализация ajax - как ?
|
|||
|---|---|---|---|
|
#18+
skyANATwitter возвращается к генерации страниц на сервере Твиттер - убыточный проект всю дорогу Их метания понять можно skyANAbackbone.js - хорошо, но стоит знать и об альтернативах. это вещи разного порядка backbone - не исключает, а наоборот, стимулирует использование шаблонов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.10.2012, 22:46:33 |
|
||
|
Правильная реализация ajax - как ?
|
|||
|---|---|---|---|
|
#18+
автор- напишу для каждого определённого типа медиа свой Formatter (Converter); - засуну их в словарь, ключом кторого будет тип медиа; - если чего-то нет в словаре, как в вашем примере, то буду использовать класс по умолчанию, или тупо отдавать HTML. это и есть ветвление ;) + как же будет выглядеть форматер для хтмл на сервере и в чём его цимус по отношению к клиенту? ;) авторЕсли последний не найден, то по умолчанию или тупо HTML :) чего-то забыл - мы про аджакс или вообще?! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2012, 13:41:25 |
|
||
|
Правильная реализация ajax - как ?
|
|||
|---|---|---|---|
|
#18+
-JSON-автор- напишу для каждого определённого типа медиа свой Formatter (Converter); - засуну их в словарь, ключом кторого будет тип медиа; - если чего-то нет в словаре, как в вашем примере, то буду использовать класс по умолчанию, или тупо отдавать HTML. это и есть ветвление ;)Хорошо, сделаю как в ASP.NET MVC 4 WebAPI :) -JSON-+ как же будет выглядеть форматер для хтмл на сервере и в чём его цимус по отношению к клиенту? ;)Может и никак, а может к примеру как некий ViewEngine в том же ASP.NET MVC. -JSON-авторЕсли последний не найден, то по умолчанию или тупо HTML :) чего-то забыл - мы про аджакс или вообще?!А для сервера есть принципиальная разница? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2012, 13:53:17 |
|
||
|
Правильная реализация ajax - как ?
|
|||
|---|---|---|---|
|
#18+
Почитав эту статью: skyANA Write once, render anywhere — используем один шаблонизатор на клиенте и сервере можно наткнуться на следущую: Пишем одностраничный клиент на javascript . В комментариях к ней обсуждается индексация. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2012, 07:53:02 |
|
||
|
Правильная реализация ajax - как ?
|
|||
|---|---|---|---|
|
#18+
авторА для сервера есть принципиальная разница? :) принципиальная разница есть для клиента! ты предлагаешь запрашивать сервер по одному и тому же адресу, передавая туда заголовок с вариантом ожидаемого ответа! что заинтересовало меня в этом методе: 1. json or html or xml как бы осилил - binary data - пока не понял? 2. какой смысл возвращать html - если на клиенте json парсится гибче и удобнее + траффик? авторМожет и никак, а может к примеру как некий ViewEngine в том же ASP.NET MVC. 3. на кой такие муки? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2012, 17:33:07 |
|
||
|
Правильная реализация ajax - как ?
|
|||
|---|---|---|---|
|
#18+
-JSON-, ты топик читал? Что нужно ТС понял? Ему предлагалось при ajax-запросах добавлять заголовок X-Requested-With=XMLHttpRequest, а на сервере его проверять. Если он есть, отдавать ajax-контент, если нет — всю страницу. 13310812 Я так понял, что под "всей страницей" понимается HTML, и предложил определять, что отдавать клиенту, на основе значения в заголовке Accept. Это называется Сontent Negotiation. О чём вооще разговор? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2012, 18:05:26 |
|
||
|
Правильная реализация ajax - как ?
|
|||
|---|---|---|---|
|
#18+
авторЯ так понял, что под "всей страницей" понимается HTML, и предложил определять, что отдавать клиенту, на основе значения в заголовке Accept. чем твой вариант лучше X-Requested-With=XMLHttpRequest авторО чём вооще разговор? :) просто было интересно узнать на сколько ты сам считаешь свою теорию состоятельной... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2012, 10:13:08 |
|
||
|
Правильная реализация ajax - как ?
|
|||
|---|---|---|---|
|
#18+
-JSON-авторЯ так понял, что под "всей страницей" понимается HTML, и предложил определять, что отдавать клиенту, на основе значения в заголовке Accept. чем твой вариант лучше X-Requested-With=XMLHttpRequestX-Requested-With и Accept как бы для разных целей. Первый исключительно для того, чтобы определять, что запрос пришел именно от xhr, а не непосредственно браузера. Второй определяет вообще тип контента, который способен переварить и предпочитает браузер. Один заголовок не отменяет другой. Сontent Negotiation это более сложное и тонкое управление отдаваемым контентом. Например, определение языка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2012, 10:32:29 |
|
||
|
Правильная реализация ajax - как ?
|
|||
|---|---|---|---|
|
#18+
-JSON-просто было интересно узнать на сколько ты сам считаешь свою теорию состоятельной...Ясно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2012, 11:47:02 |
|
||
|
Правильная реализация ajax - как ?
|
|||
|---|---|---|---|
|
#18+
авторP.S.: то, что вы познакомились с backbone.js - хорошо, но стоит знать и об альтернативах. .... Также можно использовать один шаблонизатор как на клиенте, так и на сервере: Я знаю об альтернативах, это понятно что придумать можно много чего, вопрос - зачем? Я предложил самый простой и быстрый вариант. А что яндекс или твиттер делают - это как в анекдоте - "но есть ньюанс"? Использовать шаблонизатор яндекса - хе-хе, это мягко говоря сильно на любителя. Также можно использовать один шаблонизатор как на клиенте, так и на сервере: - JavaScript на сервере, 1ms на трансформацию - Yate: Яндекс.Почта перешла на новый шаблонизатор - Write once, render anywhere — используем один шаблонизатор на клиенте и сервере Обязательно читайте комментарии к статьям, там есть полезные вещи :) Не читаю русских статей, тем-более по программированию, и вам не советую ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2012, 16:02:55 |
|
||
|
Правильная реализация ajax - как ?
|
|||
|---|---|---|---|
|
#18+
авторP.S.: то, что вы познакомились с backbone.js - хорошо, но стоит знать и об альтернативах. .... Также можно использовать один шаблонизатор как на клиенте, так и на сервере: Я знаю об альтернативах, это понятно что придумать можно много чего, вопрос - зачем? Я предложил самый простой и быстрый вариант. А что яндекс или твиттер делают - это как в анекдоте - "но есть ньюанс"? Использовать шаблонизатор яндекса - хе-хе, это мягко говоря сильно на любителя. авторТакже можно использовать один шаблонизатор как на клиенте, так и на сервере: - JavaScript на сервере, 1ms на трансформацию - Yate: Яндекс.Почта перешла на новый шаблонизатор - Write once, render anywhere — используем один шаблонизатор на клиенте и сервере Обязательно читайте комментарии к статьям, там есть полезные вещи :) Не читаю русских статей, тем-более по программированию, и вам не советую ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2012, 16:03:47 |
|
||
|
Правильная реализация ajax - как ?
|
|||
|---|---|---|---|
|
#18+
privateавторP.S.: то, что вы познакомились с backbone.js - хорошо, но стоит знать и об альтернативах. .... Также можно использовать один шаблонизатор как на клиенте, так и на сервере: Я знаю об альтернативах, это понятно что придумать можно много чего, вопрос - зачем? Я предложил самый простой и быстрый вариант.Какой такой самый простой и быстрый вариант? Это Вы сами решили, что он такой? :) privateА что яндекс или твиттер делают - это как в анекдоте - "но есть ньюанс"? Использовать шаблонизатор яндекса - хе-хе, это мягко говоря сильно на любителя. авторТакже можно использовать один шаблонизатор как на клиенте, так и на сервере: - JavaScript на сервере, 1ms на трансформацию - Yate: Яндекс.Почта перешла на новый шаблонизатор - Write once, render anywhere — используем один шаблонизатор на клиенте и сервере Обязательно читайте комментарии к статьям, там есть полезные вещи :) Не читаю русских статей, тем-более по программированию, и вам не советую ;)1. У яндекса нет своего шаблонизатора :) 2. Я не предлагал использовать именно тот шаблонизатор, что сейчас использует Яндекс. Предлагалось подумать в направлении использования одного и того же шаблонизатора и на клиенте и на сервере, чтобы не писать дважды генерацию HTML. 3. Если плохо читаете по русски, то найдите узбекские, китайские, английские статьи на предложенные темы, в чём проблема? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2012, 16:17:18 |
|
||
|
|

start [/forum/topic.php?fid=22&msg=37998576&tid=1449208]: |
0ms |
get settings: |
7ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
23ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
41ms |
get tp. blocked users: |
2ms |
| others: | 239ms |
| total: | 341ms |

| 0 / 0 |
