django 中使用ajax 检查后台数据

本文介绍了在Django项目中如何利用Ajax实现后台数据的即时验证。通过在views.py中设置响应处理,返回字符串数据,然后在前端javascript中转换为对象进行处理。同时,配置urls.py以处理Ajax请求的路由。

在django中,很多数据是需要即时判断的或者自动填表,就需要使用ajax。

后台:

views.py

from django.utils import simplejson
from django.http import HttpResponse


def check_name(request):
    name = request.GET.get('name', None)
    users = None
    result = {}

    if name:
        result = {}
        name = str(name)

        users = User.objects.filter(name=name)
    if users.exists():
        user = users[:1][0]
        result.update({
            "id": user.id,
            "name": user.name,
        })
        result = simplejson.dumps(result, ensure_ascii=False)
    else:
        result.update({
            "id": 0,
            "name": 0,
        })
        result = simplejson.dumps(result)
    return HttpResponse(result)

注意这时候返回的其实只是一个字符串,所以在前端那还需要把字符串转为一个对象

urls.py

    url('^user/check_name/$', 'check_name'),


javascript 代码

function reloaduser() {
    var name = $('#id_name').val();
    $.get("/user/check_name/",
            { name : name},
            function(data){
            data_text= eval("("+data+")");   // 此处是把字符串转为对象
            $('#id_id').val(data_text.id);
            $('#id_name').val(data_text.name);
    }
    );
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值