1

我想将请求 URL 中的参数传递给 GAE 环境中的 JavaScript 代码。

例如,输入了以下 URL。

http://example.com:8080/hello?key=abc

hello 页面使用 hello.py 和 hello.tmpl 渲染,分别如下所示。

'''hello.py'''
key = self.request.get('key')

{# hello.tmpl #} 
<html>
  <div id="key">{{ key }}</div>
  <script src="hello.js"></script>
</html>

为了在 hello.js 中引用 URL 指定的键,该函数可以编写如下。

// hello.js
function() {
  console.log($('#key').text());
};

它运行良好并且满足了我最初的请求,即参数从 URL 传播到 JavaScript 代码。

但是,我觉得这不是一个聪明的方法。我使用 div 标签作为 URL 和 JavaScript 代码之间的缓冲区。有谁知道更聪明的方法来做到这一点?

4

1 回答 1

3

您可以使用数据扩展而不是添加 div:

<body data-key='{{key}}'>
  <...>
</body>

// hello.js
function() {
  console.log($('body').data('key'));
};
于 2012-07-03T14:53:53.983 回答