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



我需要你的帮助。我发现了几个关于这个问题的堆栈溢出,但没有设法解决这个问题。我有我的注册表,我想在 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']
        ...

最新更新