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

时间:2015-01-18 11:02:18

标签: jquery ajax django python-3.x

我在一个问题上需要你的帮助。我找到了几个关于这个问题的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")

1 个答案:

答案 0 :(得分:0)

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

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