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 ファイルの両方で 2 番目の引数 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 に答える