将变量传递给模型

时间:2014-06-12 20:20:00

标签: javascript json web2py

我正在尝试使用以下代码将变量传递给web2py中的模型函数“GetFiles”,其中结果存储为“a”:

<script>
VARIABLE = 'teststring'
a = {{=XML(response.json(GetFiles(VARIABLE)))}}
</script>

当我运行页面时,VARIABLE被评估为字符串文字,而不是'teststring'。

错误消息是: NameError:名称'VARIABLE'未定义

如果我手动将VARIABLE替换为其值,一切正常。

1 个答案:

答案 0 :(得分:1)

以下代码:

{{=XML(response.json(GetFiles(VARIABLE)))}}

是在HTML页面传递到浏览器之前在服务器上进行评估的Python代码。因此,它只识别已在Python环境中定义的变量。另一方面,以下代码:

VARIABLE = 'teststring'

是Javascript,在将HTML页面传送到浏览器之前(即在Python代码运行之后),不会对其进行评估。

如果在浏览器中生成传递给GetFiles的值,则不能直接从浏览器调用服务器端Python函数。相反,您必须对服务器进行Ajax调用。