Сведения о вопросе

nikolya

21:06, 1st October, 2020

Теги

javascript   ajax    

XmlHttpRequest возвращаемые значения

Просмотров: 495   Ответов: 5

Я ищу (возможно) правильный способ возврата данных из XmlHttpRequest . Варианты, которые я вижу, являются:

  • Обычная HTML . Пусть запрос форматирует данные и возвращает их в удобном формате.
    Преимущество: легко потребляется на странице вызова.
    Недостаток: очень жесткий, застревает с фиксированной компоновкой.

  • XML . Пусть запрос возвращает XML, отформатируйте его с помощью XSLT на странице вызова.
    Преимущество: запрашиваемая услуга легко потребляется другими источниками.
    Недостаток: достаточно ли хороша поддержка браузера для XSLT?

  • JSON . Пусть запрос возвращает JSON, потребляет его с помощью javascript, рендерит HTML соответственно.
    Преимущество: легче 'OO-ify' javascript делает запрос.
    Недостаток: вероятно, не так прост в использовании, как предыдущие два варианта.

Я также думал о том, чтобы перейти к варианту один, абстрагируя логику представления в вызываемом сервисе таким образом, чтобы переключение между различными макетами было бы тривиальным. Лично я считаю, что этот вариант является лучшим из трех, по соображениям совместимости.

Печатая это, я получил еще одно озарение. Было бы неплохо разрешить все три формата ответа на основе параметра, добавленного к запросу?



  Сведения об ответе

9090

15:28, 7th August, 2020

Если вы ищете быстрое решение, которое должно работать с большинством доступных фреймворков, я бы выбрал JSON. Это легко начать и работает.

Если вы пытаетесь построить более крупное приложение, которое вы собираетесь расширить (с точки зрения размера или, возможно, вашего собственного API для сторонних расширений), я бы выбрал XML. Вы можете написать прокси-сервер, чтобы предоставить информацию в JSON или HTML тоже, но наличие XML в качестве основного источника определенно стоит времени и усилий при создании приложения.

Как сказал @John Топли : все зависит от обстоятельств.


  Сведения об ответе

lool

22:04, 14th August, 2020

Я бы согласился с Джоном Топли - все зависит от заявки. Есть хорошая статья о quirksmode, в которой обсуждаются преимущества и недостатки каждого формата, который вы можете прочитать: http://www.quirksmode.org/blog/archives/2005/12/the_ajax_respon.html


  Сведения об ответе

crush

20:34, 17th August, 2020

Я думаю, что это зависит от уровня "ajaxyness", который будет иметь ваше приложение. Если ваш передний конец - это "богатый клиент", al'a gmail, я бы пошел с решением JSON, так как вам все равно придется решать проблему генерации клиентского вида сбоку. Если вы используете ajax экономно, чтобы предоставлять простые сообщения пользователю, время от времени обновлять несколько полей и т. д., то я бы выбрал вариант 1, поскольку большая часть вашей логики представления уже находится на сервере.


  Сведения об ответе

$DOLLAR

08:14, 8th August, 2020

Другой формат ответа не должен быть сложным для получения. JSON работает лучше всего для меня, я люблю держать OO в js , и не знаю, как правильно разобрать XML :)


  Сведения об ответе

ITSME

04:36, 24th August, 2020

Я думаю, что попытка использовать XmlHttpRequest будет огромной головной болью, если только это не та головная боль, которую вы не возражаете - чтобы сделать это правильно, вы почти изобретаете колесо. С другой стороны, люди любят изобретать колеса в свободное время, просто чтобы сказать: "Hey, I did it". Не я...

Я хотел бы получить фреймворк, такой как prototype или Extjs, который имеет много функций загрузки данных, встроенных в XML и JSON, плюс вы получите более предсказуемые результаты, так как фреймворки имеют обработчики событий, чтобы убедиться, что ваш XmlHttpRequest был успешным или неудачным. Кроме того, вы получаете поддержку для всех различных браузеров.


Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться