javascript文件的变色龙模板?
我正在开发一个简单的金字塔应用程序,其中我使用JQuery来处理AJAX请求。到目前为止,我的javascript代码都在变色龙模板中。现在我想将javascript提取到另一个位置(例如,作为静态资源) 我的问题是,我发现我的javascript代码依赖于动态生成的内容,如下所示:javascript文件的变色龙模板?,javascript,python,pyramid,chameleon,Javascript,Python,Pyramid,Chameleon,我正在开发一个简单的金字塔应用程序,其中我使用JQuery来处理AJAX请求。到目前为止,我的javascript代码都在变色龙模板中。现在我想将javascript提取到另一个位置(例如,作为静态资源) 我的问题是,我发现我的javascript代码依赖于动态生成的内容,如下所示: $.post("${request.route_url('my_view')}",{'data': 'some data'}, function(html){ $("#destination").html(
$.post("${request.route_url('my_view')}",{'data': 'some data'}, function(html){
$("#destination").html(html);
});
动态要素是:
"${request.route_url('my_view')}"
调用模板中请求对象的route_url方法
是否有一种公认的模式将这些javascript文件分离到它们自己的模板中,并为它们提供路由和视图,或者我只是将javascript保存在我的页面模板中?是;您通常将特定于上下文的信息(如扩展的路由)放入模板中,并从(静态)JavaScript库访问这些信息 根据口味的不同,可以通过多种方式包含上下文信息:
...
然后,在静态JS代码加载中:
var viewurl=$('body')。数据('viewurl');
...
可以使用$('link#viewurl').attr('href')
或$('link[rel=ajax数据源]).attr('href')
检索。这只适用于URL信息
...
window.contextVariables={
viewurl=”http://www.example.com/route/to/view",
...
};
这些变量可以通过contextVariables.viewurl
直接引用我选择了选项2,因为它似乎最适合我正在做的事情。