我以为我在Web2py 中找到了我的问题的答案:将变量从视图传递到控制器
我试图采用那里的示例以获得 DIV 的大小,这最终取决于浏览器窗口的大小(相对定义)。为此,我在视图中有以下代码
<script>
var div_size_Value = document.getElementById("model_graph_div").clientWidth;
ajax('{{=URL('default', 'my_action', vars=dict(div_size_value=div_size_value))}}', [], ':eval');
</script>
但我总是得到
NameError:未定义名称“div_size_value”
错误似乎没问题,因为 Javascript var div_size_value 是在 HTML Helper URL 中寻址的。
因此我的问题是:如何从客户端(视图)到控制器获取 DIV 大小值?
非常感谢任何支持!
最好的问候克莱门斯
ajax('{{=URL('default', 'my_action', vars=dict(div_size_value=div_size_value))}}',
[], ':eval');
您正在将 Javascript 与 Python 混合使用。在 web2py 模板中,{{...}}
模板分隔符内的所有内容都是 Python 代码,在将 HTML 发送到浏览器之前在服务器上执行。因此,在您的代码中,应该div_size_value
是服务器端 Python 环境中可用的 Python 变量。由于 URL 查询字符串涉及 Javascript 变量,因此您必须通过 Javascript 构建查询字符串,如下所示:
ajax('{{=URL('default', 'my_action')}}' + '?div_size_value=' + div_size_value, ...)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句