Django中的AJAX用户名验证
Posted
技术标签:
【中文标题】Django中的AJAX用户名验证【英文标题】:AJAX username validation in Django 【发布时间】:2012-05-05 19:27:20 【问题描述】:我想创建异步用户名验证, 在更改用户名输入的值时,访问数据库以查看该用户名是否有效。到目前为止,我有这个代码,它似乎不起作用。请帮助我找出哪里出了问题。谢谢!
我的 html:
<div>Username</div>
<input type="text" name="id" id="id">
<div id="idval"></div>
我的脚本:
<script>
function CheckId()
$.get('/signup/', username: $(this).val(),
function(data)
if(data == "True")
$('#idval').html("You may use this ID");
else
$('#idval').html("Unavailable");
);
function onChange()
$("#id").change( function() CheckId());
$(document).ready(onChange);
</script>
我的观点:
def signup(request):
if request.method == "GET":
p = request.GET.copy()
if p.has_key('username'):
name = p['username']
if User.objects.filter(username__iexact=name):
return HttpResponse(False)
else:
return HttpResponse(True)
【问题讨论】:
this
CheckId 不是你想的那样。其他一切都应该工作。
我确实将其更改为“#id”,但我现在总是无法使用.. 有什么想法吗??即使我将用户名更改为可用的用户名..
【参考方案1】:
在CheckId()
$(this).val()
中不起作用。你需要$('#id').val()
查看this discussion 了解this
关键字的工作原理
【讨论】:
实际上现在#idval 总是显示不可用,即使我更改为可用的用户名也是如此。你能帮我吗?谢谢!!!以上是关于Django中的AJAX用户名验证的主要内容,如果未能解决你的问题,请参考以下文章
后端用户名是否存在验证 | 鼠标失去焦点时显示基于ajax | Django开发
每当我通过 ajax 调用它时,Django Rest 框架会用 AnonymousUser 替换我当前经过身份验证的用户吗?
Django(十六)基于模板的登录案例:登录装饰器csrf攻击方式及防护ajax的Post 的csrf开启写法生成验证码加验证码登录反向解析+传参