为什么在Django中使用Dajaxice时会得到[object XMLHttpRequest]?

时间:2013-11-12 11:22:14

标签: javascript django xmlhttprequest dajaxice

我正在Django创建一个应用程序。我目前正在使用Dajaxice来呈现随机代码。

当我尝试传递一些变量时,我无法访问我的python函数。无论我做什么,我得到的结果是[对象XMLHttpRequest]。

这是我在html网站上的javascript代码:

function valid_discount2(){
    var cell = document.getElementById('phone_number').value;
    var code = Dajaxice.chocolate.chocolate.cellphone(cell);
    alert ("CODE = " + code);
}

ajax.py中的python代码:

from django.utils import simplejson
from dajaxice.decorators import dajaxice_register
from random import randint

@dajaxice_register
def cellphone(request, cell):
    random_number = randint(1000,9999)
    code = cell + str(random_number)
    return simplejson.dumps({'code':code})

我意识到如果我只是从def cellphone(request, cell) [即def cellphone(request)]删除单元格,我就可以访问函数手机(请求)。

但是,我仍然得到[object XMLHttpRequest]作为结果。 (我当然用函数手机中的另一个变量定义单元格(请求))

任何提示?

1 个答案:

答案 0 :(得分:0)

我决定最后使用Dajax。如果它对某人有任何帮助,这是我的解决方案:

ajax.py:

    @dajaxice_register(method = 'GET')
    def cellphone(request, cell):
        dajax = Dajax()
        random_number = randint(1000,9999)
        code = cell + str(random_number)
        dajax.assign('#code','value', code))
        return dajax.json()

javascript代码:

function valid_discount2(){
dajaxice.chocolate.chocolate.cellphone(Dajax.process,{'cell':$('#phone_number').val()})
}

我在输入中使用id = #code显示“代码”,而不是在警告框中显示。