在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);
}
);
}