我以为我在Web2py: Pass a variable from view to controller上找到了问题的答案
为了获得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 div_size_value是在Helper中解决的。
因此,我的问题是:如何将DIV大小值从客户机(视图)获取到控制器?
非常感谢您的支持!
向克莱门斯问好
发布于 2017-04-13 13:06:40
ajax('{{=URL('default', 'my_action', vars=dict(div_size_value=div_size_value))}}',
[], ':eval');您将Javascript和Python混合在一起。在web2py模板中,{{...}}模板分隔符中的所有内容都是在将{{...}}发送到浏览器之前在服务器上执行的代码。因此,在您的代码中,div_size_value应该是服务器端Python环境中可用的Python变量。由于URL查询字符串涉及Javascript变量,因此必须通过Javascript构建查询字符串,如下所示:
ajax('{{=URL('default', 'my_action')}}' + '?div_size_value=' + div_size_value, ...)https://stackoverflow.com/questions/43392208
复制相似问题