Проблема прогрессивного улучшения заключается в том, что ваша серверная сторона должна быть полностью способна генерировать каждый последний бит HTML, который появляется на всех ваших страницах .Это очевидно, поскольку в противном случае (если JS выключен) в вашем приложении будет нет части, способной выполнять указанный рендеринг.
Поскольку серверная сторона должна знать, как все рендерить,не имеет смысла генерировать вещи (элементы DOM / HTML) на стороне клиента из ответов JSON, которые дает вам сервер.Зачем повторяться?
Это приводит нас к логическому выводу, что при выполнении динамических обновлений на клиенте вам необходимо получить готовый HTML-код с сервера (так как логика рендеринга находится там) и вставить его вДОМ в зависимости от обстоятельств.После этого вы можете работать с недавно вставленными элементами с помощью jQuery и улучшать их сколько хотите.
Так что - забудьте о синтаксическом анализе JSON на клиенте, в противном случае вы избавитесь от прогрессивного улучшения.Если вы хотите вызвать третью сторону, сделайте сервер своим посредником: позвоните на сервер со всей необходимой информацией, чтобы он позвонил третьей стороне и получил обратно готовый HTML.
Если вы сделаете это, то сервер, конечно же, сможет без проблем предоставлять не-JS-версии всего на вашем сайте.Достигнуто полное отсутствие опоры на JS.