std::vector<int> first;
std::vector<int> second;
first.insert(first.end(), second.begin(), second.end());
Возврат JSON / XML дает приложению больше свободы по сравнению с возвратом HTML и требует меньших специальных знаний в различных областях (данные или разметка).
Поскольку данные по-прежнему являются просто данными, вы оставьте выбор того, как отображать это на стороне клиента. Это позволяет выполнять большую часть кода на стороне клиента, а не на сервере - стороне сервера нужно знать только о структурах данных и ничего о разметке. Все, что нужно знать программисту, - это как доставлять структуры данных.
Клиентская реализация должна знать только о том, как отображать структуры данных, возвращаемые сервером, и не беспокоиться о том, как эти структуры фактически собираются. Все, что нужно знать программисту, - это как отображать структуры данных.
Если нужно построить другой клиент (это не t использовать HTML в качестве языка разметки), все серверные компоненты можно использовать повторно. То же самое касается создания другой реализации сервера.
Вот несколько плюсов для отправки JSON / XML вместо HTML:
script
, что позволяет использовать междоменные сценарии AJAX Обычно это уменьшает объем передаваемых данных и, следовательно, увеличивает скорость передачи. Поскольку все, что передается по сети, обычно является узким местом в процессе, сокращение времени передачи сокращает общее время, необходимое для выполнения процесса, улучшая взаимодействие с пользователем.
Как правило, JSON является более эффективным способом получения данных через ajax, поскольку те же данные в XML намного больше. JSON также легче использовать для Javascript на стороне клиента. Однако, если вы извлекаете чистый HTML-контент, я, скорее всего, поступлю так, как вы предлагаете. Хотя, если вам действительно нужно, вы можете встроить свой HTML-контент в строку JSON и получить лучшее из обоих миров
Я сейчас тоже борюсь с этим решением, и оно не совсем укладывалось в голове, пока я не увидел, как Дарин изложил его:
"Если данные будут когда-либо использоваться за пределами вашего приложения, HTML может быть сложнее разобрать и вписать в другую структуру"
Я думаю, что многое зависит от того, где/как будут использоваться данные. Если это одноразовое приложение, которому не нужно передавать данные куда-либо еще, то чистый HTML вполне подойдет, даже если он будет весить больше.
Лично я, если вокруг данных нужно обернуть сложный HTML, просто выплевываю HTML и вставляю его. jQuery - это здорово и все такое, но создание HTML с помощью Javascript часто становится мучением. Но это игра баланса.