3

使用 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,我收到错误消息“出错了”。

有人知道这里可能是什么问题吗?

4

2 回答 2

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
于 2013-11-30T17:14:05.627 回答
0

将 sayhello 更改为:

def sayhello(request):
  my_dict=json.loads(request.POST['argv'])
  dir=my_dict['dir']
  print(dir)
于 2014-10-01T15:13:27.087 回答