Я думаю, что это хорошая идея, чтобы определить, что каждая технология, которую вы упомянули, потому что вы, кажется, сравниваете XHR и JSON, которые находятся на двух разных уровнях и несравнимы.
XHR (XMLHttpRequest)
Описание объекта XMLHttpRequest в MDC
Этот объект используется в JavaScript для выполнения HTTP-запросов к серверу. Хотя имя подразумевает, что он запрашивает XML, он может получать данные любого типа (например, JSON.)
JSON (нотация объектов JavaScript)
Определение JSON на json.org
Это формат данных. Его можно использовать для представления структуры данных, очень похожей на XML, но в более сжатой форме. Он также напрямую совместим с JavaScript и его легко конвертировать в объект JavaScript.
JSONP (JSON с отступом)
Определение JSONP Бобом Ипполито
Расширение JSON, которое внедряет тег <script>
, который выполняет фрагмент JavaScript непосредственно с сервера, с которого он запрашивается. Дополнительный параметр обратного вызова - это глобальная функция, которая вызывается на вашей странице для делегирования данных. Полезно для запроса данных из внешнего сервиса в JavaScript.
AJAX (асинхронный JavaScript и XML)
Я не могу дать точное описание этого, потому что оно может означать очень много вещей. Взгляните на запись в Википедии .
Я бы сказал, что он определенно готов к прайм-тайм. Если он чувствует себя «слишком быстро», то достаточно легко сделать переход из одного состояния в другое более плавным / медленным.
С сегодняшними фреймворками вы можете заставить JavaScript вести себя одинаково в 99% браузеров посетителей. Даже довольно безопасно предположить, что у всех включен JavaScript (например, YouTube, который не воспроизводит видео, если у вас не включен JavaScript.)
Тем не менее, неплохо бы иметь простую статическую резервную версию вашего сайта, чтобы удовлетворить этот последний 1%.
Большинство моих недавних частных веб-проектов были реализованы в основном на JavaScript, используя XHR-запросы к серверу для получения данных. Одним из таких примеров является моя коллекция библиотек JavaScript , которая имеет концепцию отдельных страниц, но перемещается полностью, используя хэш-часть адреса. У него есть такое нервное поведение, о котором вы говорили (но с ним можно работать).