Python 2.7.12
web2py 2.14稳定
- 调用javascript开发的控制器
- 致电控制器。被Chrome检查
GET "http://127.0.0.1:8000/default/FoldBe.html?operation=get&id=%23"
- controller default.py
FoldBe():
vars = dict(request.vars)
print type(vars)
#<type 'dict'>
print vars
#{'operation': 'get', 'id': '#'}
for i in vars:
print i
#operation
#id
#print i.id
print vars.id
#ERRORS!!! stating. What gives?
#<type 'exceptions.AttributeError'> 'dict' object has no attribute 'id'
但'vars'字典显然是'dict',显然有'id'属性
如果我注意到print vars.id
,则视图会在浏览器中显示&amp;没有像你期望的那样表明错误。
如果我允许print i.id
执行错误:
<type 'exceptions.AttributeError'> 'str' object has no attribute 'id'
是什么给出了?
我在此控制器和其他控制器中有其他方法,这不是问题。
答案 0 :(得分:1)
您应该按名称访问字典键,因此请尝试vars['id']
而不是vars.id
。