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

标签 javascript python global-variables pylons

我正在尝试访问 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+"]}}"

但它提供了更多语法异常。

有什么想法吗?

编辑:

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

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

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

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

最佳答案

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

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

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

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

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

您可以:

  • 首先将所有数据发送到客户端(然后在 JS 中而不是在 Python 中选择所需的位)
  • 让 JavaScript 向服务器发出新的 HTTP 请求,并在 JS 中处理响应(这称为 Ajax,并且不乏这方面的教程)

关于javascript - 在 JavaScript 中使用 Pylons 全局变量(转义括号),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8834666/

相关文章:

javascript - Typescript:使用接口(interface)从字符串创建函数

python - 导入多索引数据而不创建整数列名称

javascript - 访问当前正在执行的 "request"或 "thread"就好像它是 Node.js 中的全局变量一样?

c++ - C++中的全局动态分配结构

javascript - 如果您不返回 promise 而只使用 resolve 会发生什么?

javascript - 多个视频作为背景 : HTML5 or YouTube?

javascript - 想在同一页面的 d3 中为不同的数据集生成多个图表

python - 如何对 numpy 数组进行 n 维距离和最近邻计算

Python递归函数执行return语句不正确?

ruby - Ruby 全局变量有什么用?