在 JavaScript 中使用 Pylons 全局变量(转义括号)

2024-05-13

我正在尝试访问 JavaScript 中 Python 全局变量中保存的字典中的结果。

var selected = jQuery('.target option:selected').text()
var list = "${c.persons_by_permission["+selected+"]}"

如果我直接访问字典而不使用变量:

var list = "${c.persons_by_permission['stringID']}"

然后代码就可以工作了。

但是,当我尝试使用变量访问字典时,我收到语法错误(我相信这是因为花括号)。

我尝试用以下方法逃避大括号:

var list = "${{c.persons_by_permission["+selected+"]}}"

但它给出了更多的语法异常。

有任何想法吗?

EDIT:

这不是我是否可以同时使用Python和javascript的问题,这更多的是转义大括号的问题

我正在使用塔架,所以如果我尝试:

alert("${c.persons_by_permission['Documents']}")

我会得到我需要的结果。问题是我找不到将变量传递到 javascript 来代替“文档”的方法


我在这里做出一些(合理的)假设......

  • 你的 Python 正在你的网络服务器上运行
  • 您的 JavaScript 正在您的客户端上运行

就Python而言,它正在输出文本。它并不关心浏览器是否会将其解释为 HTML、JavaScript 或其他内容。它只是生成一些文本,然后将其发送到浏览器。

使用 HTTP,您可以发出请求并获得响应。您不能中途停止响应以从客户端取回数据。

您无法将数据从客户端 JS 传递回生成 JS 的 Python 进程。该进程将完成运行。

您可以:

  • 首先将所有数据发送到客户端(然后在 JS 中而不是在 Python 中选择所需的位)
  • 让 JavaScript 创建一个new向服务器发出 HTTP 请求并在 JS 中处理响应(这称为 Ajax,并且不乏这方面的教程)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 JavaScript 中使用 Pylons 全局变量(转义括号) 的相关文章

随机推荐