我在一个问题上需要你的帮助。我找到了几个关于这个问题的stackoverflow,但没有设法解决这个问题。 我有我的注册表单,我希望在AJAX中检查用户名是否存在。 在这种情况下,我决定使用GET方法,这个AJAX的专用视图,但是我收到一个错误: verif_user()缺少1个必需的位置参数:&#39;用户名&#39; < / p>
首先,我总是在PHP中进行POST Ajax调用,所以我不确定我是否正确处理了GET。我的代码是否正常(安全)?我该如何解决我的问题?
感谢您的帮助。
jQuery的:
$.ajax({
url: "{% url 'membres.views.verif_user' %}",
data: 'username='+value,
success: function(data){
console.log(data);
if(data == 'unavailable') {
label.append(checkStartInvalid + "Ce nom d'utilisateur n'est pas disponible" + checkEnd);
} else {
label.append(checkValid);
}
}
});
urls.py
urlpatterns = patterns('membres.views',
url(r'^verif-user$', 'verif_user'),
url(r'^verif-email$', 'verif_email')
)
views.py
# AJAX Calls
def verif_user(request, username):
if request.is_ajax() and request.method == 'GET':
if User.objects.filter(username=username).exists():
return HttpResponse("unavailable")
else:
return HttpResponse("available")
else:
return HttpResponse("Temporary 404")
答案 0 :(得分:0)
从username
函数中删除verif_user
参数并从request.GET
字典中获取用户名:
def verif_user(request):
if request.is_ajax() and request.method == 'GET':
username = request.GET['username']
...