缺少 1 个必需的位置参数 AJAX 调用

missing 1 required positional argument AJAX call

我有一个问题需要你的帮助。我发现了几个关于这个问题的计算器,但没有设法解决这个问题。 我有我的注册表,我想在 AJAX 中检查用户名是否存在。 对于这种情况,我决定使用 GET 方法,这是 AJAX 的专用视图,但出现错误:verif_user() missing 1 required positional argument: 'username'

首先,我一直在 POST Ajax 中调用 PHP,所以我不确定我是否正确处理了 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")

verif_user 函数中删除 username 参数并从 request.GET 字典中获取用户名:

def verif_user(request):
    if request.is_ajax() and request.method == 'GET':
        username = request.GET['username']
        ...