我需要你的帮助。我发现了几个关于这个问题的堆栈溢出,但没有设法解决这个问题。我有我的注册表,我想在 AJAX 中检查用户名是否存在。在这种情况下,我决定使用 GET 方法,这是此 AJAX 的专用视图,但我收到一个错误:verif_user() 缺少 1 个必需的位置参数:"用户名"
首先,我一直在PHP中做POST Ajax调用,所以我不确定我是否正确处理了GET。我的代码正常(安全)吗?我该如何解决我的问题?
感谢您的帮助。
j查询:
$.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")
从函数中删除username
参数verif_user
并从字典中获取用户名request.GET
:
def verif_user(request):
if request.is_ajax() and request.method == 'GET':
username = request.GET['username']
...