Tornado Template 如何获得 JavaScript 中的 var 变量?

2015-02-12 17:11:58 +08:00
 jecvay

我想通过jQuery 发起一个对api的GET请求, 获得一个json格式的list, 然后用 {% for %}控制语句来把json里面的每一个Title给显示出来.

求教如何在 {% %} 里面调用 jQuery获得的data

7221 次点击
所在节点    Tornado
11 条回复
powerfj
2015-02-12 17:30:07 +08:00
怎么感觉很飞线..
jecvay
2015-02-12 17:34:52 +08:00
@powerfj 我第一次写网站, 不懂怎么搞- -, 像这种调用外部RESTful 的api然后显示出一个列表的应该怎么写?
jecvay
2015-02-12 17:38:54 +08:00
@powerfj 啊我想到了一个方法, 在Handler里通过 AsyncClient 来获取 api 数据, 然后传进 Template 里面, 一般是不是这样的?
hahastudio
2015-02-12 18:01:27 +08:00
页面的大框架和数据提供交给后端
动态渲染交给前端
js 有很多框架都可以拿来干这个,angular,ember,backbone,……
只用 jQuery 的话
https://stackoverflow.com/questions/1145208/jquery-how-to-add-li-in-an-existing-ul
nealv2ex
2015-02-12 18:16:27 +08:00
{% for %}
是输出模板的,
这你的当前的地方是 json格式的list

这2个是相同的时机,你已经用了不同的输出格式了。

要处理jsondata

需要用前端模板 mustache.js handlebars.js ejs jade
fy
2015-02-12 18:17:53 +08:00
楼主这个想法是不可能实现的,这是由模板的本质决定的。
模版本身是个配置文件,用来生成一个对应的py文件,而这个文件的实际作用是返回一段html文本。
在这一系列生成文本的过程中,js没有被执行过(此时js代码也仅仅只是页面中其他文本的一部分,而py根本就不关心这些文本是什么)
所以无法取得这个值。只能是通过前端代码来弄。
14
2015-02-12 18:18:25 +08:00
我来误导楼主,你需要Angular
NemoAlex
2015-02-12 18:40:21 +08:00
我来误导楼主,Angular 可以配合 jQuery 来实现这一点
tonyluj
2015-02-12 18:41:08 +08:00
带上 react
p2p
2015-02-12 19:21:18 +08:00
加个callback不就完了…
jecvay
2015-02-12 23:39:21 +08:00
谢谢各位, 现在我在后台获取api数据, 然后传到前端给Tornado模板处理就好了.

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/170521

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX