powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Правильная реализация ajax - как ?
25 сообщений из 59, страница 2 из 3
Правильная реализация ajax - как ?
    #37996462
Фотография Ифреймов Вася
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShSergeИфреймов Вася,

Василий, большие (или важные) данные я всегда передаю самым обыкновенным постом, с перезагрузкой страницы. Что Вы сами себе выдумали?

Разве я что-то выдумал?
Автор топика говорит о работе без перезагрузок
Я тоже поддерживаю диалог в рамках этого контекста

Выдумки тут все ваши :)


пысы:
Кстати, интересное разделение: важные данные - редирект, неважные - jsonp.
...
Рейтинг: 0 / 0
Правильная реализация ajax - как ?
    #37996469
Фотография Ифреймов Вася
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ифреймов Вася

пысы:
Кстати, интересное разделение: важные данные - редиректрелоад, неважные - jsonp.
...
Рейтинг: 0 / 0
Правильная реализация ajax - как ?
    #37996530
private
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторНичего сложного. При ajax-запросах нужно добавлять заголовок X-Requested-With=XMLHttpRequest, а на сервере его проверять. Если он есть, отдавать ajax-контент, если нет — ******всю страницу *******Вот это сложно, если толстый-клиент то зачастую рендеринг на клиенте и сервер отдает только джсон. как вы из жсона соберете "всю страницу"

Да, это коффескрипт, я просто выдрал кусок из приложения и вставил как пример, на жаваскрипте то-же самое.
Код: javascript
1.
2.
3.
server.get '/applications', (err, data) ->
  return callback err if err
  callback null, new app.Applications(data)


Этот код запрашивает данные у REST API сервера для ресурса '/applications'
чтобы изолировать бизнес-логику от деталей протокола (хттп в нашем случае), тут нет кучи ненужных опций и прочего мусора который есть в jQuery.ajax (смысл не в том чтобы переделать хттп-коммуникацию а сделать более удобный АПИ, зачастую этот метод может использовать тот-же jQuery.ajax).

> Чаще всего использую технологию, которые многие называют JSONP
А как вы пост запросы с JSONP отправляете?
...
Рейтинг: 0 / 0
Правильная реализация ajax - как ?
    #37996536
private
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Точнее, сложность в следущем - создать толстого клиента на жаваскрипте само по себе сложно, тот-же заметно бакбоне сложней чем рельсы и пхп.
Сделать дополнительно на бекенде серверную-генерацию хтмл (управлять и следить за эмуляторами браузеров) - делает эту задачу еще сложнее.
Вобщем, на то что можно сделать на рельсах за неделю на бакбоне уйдет месяц.
...
Рейтинг: 0 / 0
Правильная реализация ajax - как ?
    #37996548
private
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не совсем точно вставил код, поправка - получаем данные у сервера и печатаем их в консоль.

Код: javascript
1.
2.
3.
4.
server.get '/applications', (err, applications) ->
  return alert err.message if err
  # Do something with data, print it to console.
  console.log applications



если события или фьючеры нравятся больше чем коллбеки - тоже есть похожие варианты.
...
Рейтинг: 0 / 0
Правильная реализация ajax - как ?
    #37996576
Фотография Ифреймов Вася
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
privateТ
Вобщем, на то что можно сделать на рельсах за неделю на бакбоне уйдет месяц.

Очень замечательно, что вы такой гик coffeescript/ror
Но представьте, что одно другого не исключает

Посмотрите вот этот сайт например http://airbnb.com/
...
Рейтинг: 0 / 0
Правильная реализация ajax - как ?
    #37996751
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
privateавторНичего сложного. При ajax-запросах нужно добавлять заголовок X-Requested-With=XMLHttpRequest, а на сервере его проверять. Если он есть, отдавать ajax-контент, если нет — ******всю страницу *******Вот это сложно, если толстый-клиент то зачастую рендеринг на клиенте и сервер отдает только джсон. как вы из жсона соберете "всю страницу"Есть такое понятие как content negotiation . Если клиент в HTTP заголовке Accept указывает text/html, то отдаём ему HTML; если application/json - отдаём JSON; text/xml - XML; image/jpeg - картинку.
...
Рейтинг: 0 / 0
Правильная реализация ajax - как ?
    #37996773
-JSON-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
автор*/* or text/html,application/xhtml+xml,application/xml;
что будем отдавать - картинку, json, html, xml? + будешь на сервере делать ветвление?
Код: sql
1.
2.
3.
4.
5.
if(text)
 response text
if(json)
 response json
and etc.
...
Рейтинг: 0 / 0
Правильная реализация ajax - как ?
    #37997400
private
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор> Есть такое понятие как content negotiation. Если клиент в HTTP заголовке Accept указывает text/html, то отдаём ему HTML; если application/json - отдаём JSON; text/xml - XML; image/jpeg - картинку

Не в том дело, откуда на сервере возьмется ХТМЛ если ВЕСь рендеринг делается на клиенте, на сервере лежит (одна статическая пустая хтмл для начальной загрузки клиента, и все)?
Предлагается писать код рендеринга дважды - и там и там что-ли?
...
Рейтинг: 0 / 0
Правильная реализация ajax - как ?
    #37997438
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
private...А как вы пост запросы с JSONP отправляете?
Никак. Я постом пользуюсь только при вводе логина-пароля и отправке картинки, может быть, можно найти ещё пару редких исключений.
То есть, хочу сказать, что при использовании аякса, не пользуюсь постом.
...
Рейтинг: 0 / 0
Правильная реализация ajax - как ?
    #37997483
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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 - хорошо, но стоит знать и об альтернативах.
...
Рейтинг: 0 / 0
Правильная реализация ajax - как ?
    #37997502
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-JSON-автор*/* or text/html,application/xhtml+xml,application/xml;
что будем отдавать - картинку, json, html, xml? + будешь на сервере делать ветвление?
Код: sql
1.
2.
3.
4.
5.
if(text)
 response text
if(json)
 response json
and etc.

Зачем ветвление?
Навскидку:
- напишу для каждого определённого типа медиа свой Formatter (Converter);
- засуну их в словарь, ключом кторого будет тип медиа;
- если чего-то нет в словаре, как в вашем примере, то буду использовать класс по умолчанию, или тупо отдавать HTML.
...
Рейтинг: 0 / 0
Правильная реализация ajax - как ?
    #37997503
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Или можно сделать split строке "text/html,application/xhtml+xml,application/xml", пробежаться по словарю и вызвать первый подходящий Formatter.
Если последний не найден, то по умолчанию или тупо HTML :)
...
Рейтинг: 0 / 0
Правильная реализация ajax - как ?
    #37997829
Фотография Ифреймов Вася
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANATwitter возвращается к генерации страниц на сервере
Твиттер - убыточный проект всю дорогу
Их метания понять можно

skyANAbackbone.js - хорошо, но стоит знать и об альтернативах.
это вещи разного порядка
backbone - не исключает, а наоборот, стимулирует использование шаблонов
...
Рейтинг: 0 / 0
Правильная реализация ajax - как ?
    #37998532
-JSON-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
автор- напишу для каждого определённого типа медиа свой Formatter (Converter);
- засуну их в словарь, ключом кторого будет тип медиа;
- если чего-то нет в словаре, как в вашем примере, то буду использовать класс по умолчанию, или тупо отдавать HTML.
это и есть ветвление ;)
+ как же будет выглядеть форматер для хтмл на сервере и в чём его цимус по отношению к клиенту? ;)
авторЕсли последний не найден, то по умолчанию или тупо HTML :)
чего-то забыл - мы про аджакс или вообще?!
...
Рейтинг: 0 / 0
Правильная реализация ajax - как ?
    #37998576
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-JSON-автор- напишу для каждого определённого типа медиа свой Formatter (Converter);
- засуну их в словарь, ключом кторого будет тип медиа;
- если чего-то нет в словаре, как в вашем примере, то буду использовать класс по умолчанию, или тупо отдавать HTML.
это и есть ветвление ;)Хорошо, сделаю как в ASP.NET MVC 4 WebAPI :)
-JSON-+ как же будет выглядеть форматер для хтмл на сервере и в чём его цимус по отношению к клиенту? ;)Может и никак, а может к примеру как некий ViewEngine в том же ASP.NET MVC.
-JSON-авторЕсли последний не найден, то по умолчанию или тупо HTML :)
чего-то забыл - мы про аджакс или вообще?!А для сервера есть принципиальная разница? :)
...
Рейтинг: 0 / 0
Правильная реализация ajax - как ?
    #37999635
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Почитав эту статью:
skyANA Write once, render anywhere — используем один шаблонизатор на клиенте и сервере можно наткнуться на следущую: Пишем одностраничный клиент на javascript . В комментариях к ней обсуждается индексация.
...
Рейтинг: 0 / 0
Правильная реализация ajax - как ?
    #38000950
-JSON-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторА для сервера есть принципиальная разница? :)
принципиальная разница есть для клиента!

ты предлагаешь запрашивать сервер по одному и тому же адресу, передавая туда заголовок с вариантом ожидаемого ответа!
что заинтересовало меня в этом методе:
1. json or html or xml как бы осилил - binary data - пока не понял?
2. какой смысл возвращать html - если на клиенте json парсится гибче и удобнее + траффик?
авторМожет и никак, а может к примеру как некий ViewEngine в том же ASP.NET MVC.
3. на кой такие муки?
...
Рейтинг: 0 / 0
Правильная реализация ajax - как ?
    #38001039
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-JSON-, ты топик читал? Что нужно ТС понял?

Ему предлагалось при ajax-запросах добавлять заголовок X-Requested-With=XMLHttpRequest, а на сервере его проверять.
Если он есть, отдавать ajax-контент, если нет — всю страницу. 13310812
Я так понял, что под "всей страницей" понимается HTML, и предложил определять, что отдавать клиенту, на основе значения в заголовке Accept. Это называется Сontent Negotiation.

О чём вооще разговор? :)
...
Рейтинг: 0 / 0
Правильная реализация ajax - как ?
    #38001779
-JSON-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторЯ так понял, что под "всей страницей" понимается HTML, и предложил определять, что отдавать клиенту, на основе значения в заголовке Accept.
чем твой вариант лучше X-Requested-With=XMLHttpRequest
авторО чём вооще разговор? :)
просто было интересно узнать на сколько ты сам считаешь свою теорию состоятельной...
...
Рейтинг: 0 / 0
Правильная реализация ajax - как ?
    #38001820
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-JSON-авторЯ так понял, что под "всей страницей" понимается HTML, и предложил определять, что отдавать клиенту, на основе значения в заголовке Accept.
чем твой вариант лучше X-Requested-With=XMLHttpRequestX-Requested-With и Accept как бы для разных целей. Первый исключительно для того, чтобы определять, что запрос пришел именно от xhr, а не непосредственно браузера. Второй определяет вообще тип контента, который способен переварить и предпочитает браузер. Один заголовок не отменяет другой. Сontent Negotiation это более сложное и тонкое управление отдаваемым контентом. Например, определение языка.
...
Рейтинг: 0 / 0
Правильная реализация ajax - как ?
    #38002008
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-JSON-просто было интересно узнать на сколько ты сам считаешь свою теорию состоятельной...Ясно.
...
Рейтинг: 0 / 0
Правильная реализация ajax - как ?
    #38005958
private
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторP.S.: то, что вы познакомились с backbone.js - хорошо, но стоит знать и об альтернативах.
....
Также можно использовать один шаблонизатор как на клиенте, так и на сервере:
Я знаю об альтернативах, это понятно что придумать можно много чего, вопрос - зачем? Я предложил самый простой и быстрый вариант.
А что яндекс или твиттер делают - это как в анекдоте - "но есть ньюанс"? Использовать шаблонизатор яндекса - хе-хе, это мягко говоря сильно на любителя.

Также можно использовать один шаблонизатор как на клиенте, так и на сервере:
- JavaScript на сервере, 1ms на трансформацию
- Yate: Яндекс.Почта перешла на новый шаблонизатор
- Write once, render anywhere — используем один шаблонизатор на клиенте и сервере
Обязательно читайте комментарии к статьям, там есть полезные вещи :)
Не читаю русских статей, тем-более по программированию, и вам не советую ;)
...
Рейтинг: 0 / 0
Правильная реализация ajax - как ?
    #38005961
private
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторP.S.: то, что вы познакомились с backbone.js - хорошо, но стоит знать и об альтернативах.
....
Также можно использовать один шаблонизатор как на клиенте, так и на сервере:
Я знаю об альтернативах, это понятно что придумать можно много чего, вопрос - зачем? Я предложил самый простой и быстрый вариант.
А что яндекс или твиттер делают - это как в анекдоте - "но есть ньюанс"? Использовать шаблонизатор яндекса - хе-хе, это мягко говоря сильно на любителя.

авторТакже можно использовать один шаблонизатор как на клиенте, так и на сервере:
- JavaScript на сервере, 1ms на трансформацию
- Yate: Яндекс.Почта перешла на новый шаблонизатор
- Write once, render anywhere — используем один шаблонизатор на клиенте и сервере
Обязательно читайте комментарии к статьям, там есть полезные вещи :)
Не читаю русских статей, тем-более по программированию, и вам не советую ;)
...
Рейтинг: 0 / 0
Правильная реализация ajax - как ?
    #38005987
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
privateавторP.S.: то, что вы познакомились с backbone.js - хорошо, но стоит знать и об альтернативах.
....
Также можно использовать один шаблонизатор как на клиенте, так и на сервере:
Я знаю об альтернативах, это понятно что придумать можно много чего, вопрос - зачем? Я предложил самый простой и быстрый вариант.Какой такой самый простой и быстрый вариант? Это Вы сами решили, что он такой? :)
privateА что яндекс или твиттер делают - это как в анекдоте - "но есть ньюанс"? Использовать шаблонизатор яндекса - хе-хе, это мягко говоря сильно на любителя.

авторТакже можно использовать один шаблонизатор как на клиенте, так и на сервере:
- JavaScript на сервере, 1ms на трансформацию
- Yate: Яндекс.Почта перешла на новый шаблонизатор
- Write once, render anywhere — используем один шаблонизатор на клиенте и сервере
Обязательно читайте комментарии к статьям, там есть полезные вещи :)
Не читаю русских статей, тем-более по программированию, и вам не советую ;)1. У яндекса нет своего шаблонизатора :)
2. Я не предлагал использовать именно тот шаблонизатор, что сейчас использует Яндекс.
Предлагалось подумать в направлении использования одного и того же шаблонизатора и на клиенте и на сервере, чтобы не писать дважды генерацию HTML.
3. Если плохо читаете по русски, то найдите узбекские, китайские, английские статьи на предложенные темы, в чём проблема? :)
...
Рейтинг: 0 / 0
25 сообщений из 59, страница 2 из 3
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Правильная реализация ajax - как ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]