<script>
function myFunction() {
var name = "some_string";
var display = "{{ python_function(name) }}";
alert(display);
}
</script>
上面的Javascript写在jinja2模板中。它应该将javascript变量(即var名称)值传递给宏中的python函数。我知道上面的代码无法解决我的目的,因为我没有正确将javascript变量值传递给宏。是否有人在jinja2模板中将javascript变量传递给宏的方法?
您不能以这种方式将值从javascript传递到模板,因为模板将在响应返回到浏览器之前呈现,以供javascript引擎评估。模板渲染器能够解析name
javascript代码中指定的value的唯一方法是解释嵌入的字符串<script></script>
。
更新 。让我们看看您的第二次尝试,您说的成功了。你有:
<body>
<button onclick="js_fn('{{ py_fn('some_string') }}')">Click me</button>
<script>
function js_fn(variable) {
alert(variable);
}
</script>
</body>
大概这是局部的(比如 __index.html_ )。具有py_fn
作用域的视图将加载 __index.html_ ,对字符串“
py_fn(’some_string’)”求值,并替换{{ py_fn('some_string') }}
为该求值的结果。假设py_fn
是字符串上的标识函数:这是一元函数,接受字符串并立即返回它。然后,评估“
py_fn(’some_string’)”的结果将是字符串'some_string'
,该字符串将被替换回来,从而获得最终的所谓的“渲染”模板:
<body>
<button onclick="js_fn('some_string')">Click me</button>
<script>
function js_fn(variable) {
alert(variable);
}
</script>
</body>
该字符串将成为请求的响应主体的一部分,因此浏览器将在窗口上转储按钮,评估脚本块内的js代码,这将在上创建一个全局变量js_fn
,该变量将发出window
警报并对其进行警告。单击该按钮时,将始终js_fn
使用常量调用some_string
。如您所见,没有值从JS传递到Python
/ Flask。
本文向大家介绍如何将JavaScript变量传递给PHP?,包括了如何将JavaScript变量传递给PHP?的使用技巧和注意事项,需要的朋友参考一下 您可以在PHP的同一页面上轻松获取JavaScript变量值。尝试以下代码L。
问题内容: 这是我的问题: 当我用JavaScript编写此代码时 // 好: 但是,当我尝试在属性标签中动态设置该值时,没有任何执行。 // 不好: 有人可以帮我吗? 问题答案: Struts标签,例如JSTL,EL等,是在服务器端执行的。执行完所有这些步骤后,仅HTML的最终页面将呈现给客户端。只有这样,JavaScript才能在页面上运行。 您不能混合使用javascript和Struts标
问题内容: 这是我的问题: 当我用JavaScript编写此代码时 // 好: 但是,当我尝试在属性标签中动态设置该值时,没有任何执行。 // 不好: 有人可以帮我吗? 问题答案: Struts标签,例如JSTL,EL等,是在服务器端执行的。执行完所有这些步骤后,仅HTML的最终页面将呈现给客户端。只有这样,JavaScript才能在页面上运行。 您不能混合使用javascript和Struts标
问题内容: 我有一个PHP会话变量,在整个会话过程中仍然有效。在开头部分,我包含了我的JavaScript文件。 如果需要以下内容,如何将会话变量传递到JavaScript文件中。 由于无法在JavaScript文件中识别出,因此上面的代码不起作用。因此,我必须放入PHP文件本身,但是如何将其保留在JavaScript文件中? 问题答案: 在您的PHP文件中,您可以将用户设置为全局变量: 在包含外
问题内容: 我需要更新我的时间。该值由正在执行的函数返回。 返回一个整数。 这将返回未防御状态。因此,我需要获取计数并将其传递给 问题答案: 如果您需要在每次调用之后更改重复间隔,则不能使用-使用恒定重复。您需要使用,因此您可以每次更改时间段:
问题内容: 我有一个用JS计算的值,希望将其作为输入表单的一部分传递给PHP脚本。我如何将JS值的JS值作为POST参数获取? 基本上,在提交时,我需要将var通过post传递到下一个脚本。 想到的第一个想法是创建一个不可见的输入表单,该表单中包含值并与该表单一起输入,这可能吗? 问题答案: 是的,您可以在JavaScript代码中使用和设置该隐藏字段的值,以便将其与其他表单数据一起发布。