当HTML发送参数时,为什么python Dajaxice函数不能识别?

时间:2013-12-25 03:51:12

标签: python django dajaxice

这有效:

Javascript:
    function my_js_callback(data) {alert("Response = " + data.response);}
HTML:
    <input id="myID" type="text" name="myID" onblur="Dajaxice.myApp.myAjaxFunction(my_js_callback);"/>
Python:
    @dajaxice_register()
    def myAjaxFunction(request):
        return simplejson.dumps({'response': True})

但是,当我向Ajax函数添加一个参数并从HTML调用它时,它不起作用:

Javascript:
    function my_js_callback(data) {alert("Response = " + data.response);}
HTML:
    <input id="myID" type="text" name="myID" onblur="Dajaxice.myApp.myAjaxFunction(my_js_callback,{'myArgument':3});"/>
Python:
    @dajaxice_register()
    def myAjaxFunction(request, myArgument):
        return simplejson.dumps({'response': True})

这是它产生的错误:

TypeError: myAjaxFunction() takes exactly 2 arguments (1 given)

为什么第二个参数没有传递给myAjaxFunction()?如何让myAjaxFunction识别我尝试发送它的内容?

1 个答案:

答案 0 :(得分:0)

我找到了答案。 我需要将method ='GET'添加到装饰器中。然后它奏效了:

@dajaxice_register(method='GET')