Я пробовал 2 способа, которые работают, но не чувствую себя очень чистым.
Во-первых, нужно иметь встроенный javascript, который принимает переменную из шаблона вида, например:
var x = {{ myServersideVariable }};
(В моем случае я использую Jinja2, но то же самое применимо к шаблонам Django, Razor в .NET MVC3, Twig в PHP или к любому числу механизмов моделирования шаблонов).
Очевидно, что это нечистая часть об этом, что есть javascript на странице html, а не в отдельном файле.
Другой вариант, который я использовал, состоит в том, чтобы иметь скрытую область, заполненную сервером, а затем потребляемую на конце Javascript. Это кажется немного более чистым, но не полностью, и это также немного громоздко писать.
Есть ли лучшее решение или это мои самые лучшие варианты?
P.S.
Я знаю JSON, и на самом деле мне иногда приходится прибегать к первому решению, если мне нужно передать что-то другое, кроме примитивов. Таким образом, бонусные баллы за решение, которое поддерживает передачу объектов JSON без использования javascript на странице.