使用Dajaxice我想将参数传递给python函数。
在html文件中,我有以下声明
<a href="#" onclick="Dajaxice.myapp.sayhello(Dajax.process,{'dir':3} )"> <i class="icon"></i></a>
在我的ajax.ps文件中我有函数
@dajaxice_register
def sayhello(request, dir):
print(dir)
如果我在html和python文件中删除第二个参数dir,它工作正常,但是有了dir,我收到错误消息“出错了。”
有人知道这里可能出现什么问题吗?
答案 0 :(得分:1)
如果你使用Python 3. *,那么在模块dajaxIce中创建更改文件venv / lib / python3.2 / site-packages / dajaxice / views.py
def safe_dict(d):
"""
Recursively clone json structure with UTF-8 dictionary keys
http://www.gossamer-threads.com/lists/python/bugs/684379
"""
if isinstance(d, dict):
return dict([(k, safe_dict(v)) for k, v in d.items()])
elif isinstance(d, list):
return [safe_dict(x) for x in d]
else:
return d
答案 1 :(得分:0)
将sayhello改为:
def sayhello(request):
my_dict=json.loads(request.POST['argv'])
dir=my_dict['dir']
print(dir)