如何通过 URL 将参数传递给 GAE 上的 JavaScript 代码

How to pass a parameter by URL to the JavaScript code on GAE?

本文关键字:GAE 上的 JavaScript 代码 参数传递 何通过 URL      更新时间:2023-09-26

我想将请求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 代码之间的缓冲区。有谁知道更聪明的方法吗?

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

<body data-key='{{key}}'>
  <...>
</body>
// hello.js
function() {
  console.log($('body').data('key'));
};