Ajax和json返回undefined作为变量值

时间:2015-07-19 18:31:11

标签: ajax json django asynchronous

我正在使用ajax进行一些测试,以便在网页中使用它。此代码检查是用户名尚未注册,但当我尝试显示时,json返回的变量是未定义的,任何想法为什么? 这是代码:

  $.ajax({
           type: "POST",
           url: "http://127.0.0.1:8000/auth_validate/",
           data: {'username': $('#id_nombre').val(), 'csrfmiddlewaretoken': $('input[name=csrfmiddlewaretoken]').val() },
           dataType: "text",
           success: function(response) {
                  var response = $.parseJSON( response );
                  if (response.success){
                      return true;
                  }
                  else{
                      alert(response.error + " " + response.users);
                  }
            },
            error: function(rs, e) {
                   console.log(rs.responseText + "error");
            }
      });
    return false;
})

这是views.py

def auth_validate(request):
    error = ''
    success = False
    users = Users.objects.all()

    if request.method == 'POST':
        username = request.POST.get('id_nombre', None)
        if not username:
            error = _('Please enter username')
        elif Users.objects.filter(username__exact=username).exists():
            error = _('Sorry this username is already taken')
        else:
            success = True

    ajax_vars = {'success': success, 'error': error, 'users': users}
    return HttpResponse(simplejson.dumps(list((ajax_vars))),
                    mimetype='application/json')

0 个答案:

没有答案