Как показать HTML-страницу в файле JS на Google App Engine - PullRequest
0 голосов
/ 02 июля 2010
$('#upload').click(function(){
        $('#main .right').html("{% extends 'a.html' %}")
    })

но это ошибка,

как заставить этот код работать.

спасибо

Ответы [ 2 ]

2 голосов
/ 02 июля 2010

Позвольте мне угадать - ваш элемент в итоге содержит "{% extends 'a.html'%}"? Если это так, то это потому, что ваш файл js не анализируется механизмом шаблонов. В любом случае, вам может быть лучше выполнить этот запрос AJAX, например:

$('#upload').click(function() {
    $.get("a.html", function(data) {
        $('#main .right').html(data);
    });
});

Если вы чувствуете себя необычно необычно, вы можете добавить анимацию, чтобы пользователь знал, что запрос находится на рассмотрении.

0 голосов
/ 02 июля 2010
$('#upload').click(function(){
    $('#main .right').html("{% extends 'a.html' %}")
})

Вы имеете в виду {% include %}?Я не могу понять, для чего было бы полезно помещать extends в блок скрипта.

Если вы на самом деле успешно шаблонизируете в этот блок {% ... %}, значит, вы включаете загрузку HTML-контента.Содержимое HTML обычно содержит много новых строк и символов ", которые сразу же завершают строковый литерал JavaScript внутри вызова html() и вызывают большую старую синтаксическую ошибку.(Другие символы, которые могут вызвать проблемы, включают \ и </.)

Если вы хотите, чтобы это работало, вам нужно взять выходные данные шаблона a.html и кодировать его, используя строку JavaScriptбуквальные правила.Для обычной строки это можно сделать с помощью фильтра escapejs в Django или библиотеки json в целом.Однако я не думаю, что есть какой-либо способ фильтрации по выводу команды {% include %}.

Как насчет включения HTML в скрытую часть документа и показа / скрытия его из скрипта?

...