django成功功能中的ajax不起作用

我是 ajax 和 Django 的新手。我尝试将 ajax 放入我的代码中,以在注册页面中检查是否某个用户已经拥有一封电子邮件,然后该电子邮件不能用于新用户并禁用按钮,否则如果电子邮件不存在,则可以创建用户.


ajax代码



$(document).on('blur', 'input[name="email"]', function(){

   $.ajax({

    type:'POST',

    url:'/stock/checkemail/',

    data:{

        email:$("#email").val(),

        csrfmiddlewaretoken:$('input[name=csrfmiddlewaretoken]').val()

    },

    success:function(){

        $('input[type="submit"]').attr('disabled', 'true')

    },

    failure:function(){

        $('input[type="submit"]').removeAttr('disabled');

    }

   })

});


url.py


    path('checkemail/',Emailser.as_view()),

views.py


class Emailser(View):

    def post(self, request):

        em = request.POST['email']

        print(em)

        try:

            user = User.objects.get(email=em)

            return HttpResponse('true')

        except:

            return HttpResponse('false')


在 views.pyprint(em)中也打印了在字段中输入但不知道为什么不起作用的邮件。 模板


{% extends 'base.html' %}

{% block content %}

{% load static %}

<div>

  <h2>Sign Up</h2>

  {% if error %}

{{error}}

<br/>

{% endif %}

  <form method="post" id="signup" >

    {% csrf_token %}

    {{ form.as_p }}

    <button type="submit" class="btn btn-primary" >Signup</button>

  </form>

</div>

     <script src="{% static 'assets/signup.js' %}" ></script>

{% endblock %}


holdtom
浏览 228回答 2
2回答

慕婉清6462132

在成功函数中试试这个$('input[type="submit"]').disabled&nbsp;=&nbsp;true;

撒科打诨

$(document).on('blur', 'input[name="email"]', function(){&nbsp; &nbsp;$.ajax({&nbsp; &nbsp; type:'POST',&nbsp; &nbsp; url:'/stock/checkemail/',&nbsp; &nbsp; data:{&nbsp; &nbsp; &nbsp; &nbsp; email:$("#email").val(),&nbsp; &nbsp; &nbsp; &nbsp; csrfmiddlewaretoken:$('input[name=csrfmiddlewaretoken]').val()&nbsp; &nbsp; },&nbsp; &nbsp; success:function(response){&nbsp; &nbsp; &nbsp; &nbsp; response ? $('input[type="submit"]').attr('disabled', 'true') :&nbsp; $('input[type="submit"]').removeAttr('disabled');&nbsp; &nbsp; },&nbsp; &nbsp; failure:function(error){&nbsp; &nbsp; &nbsp;console.log(error);&nbsp; &nbsp; }&nbsp; &nbsp;})});
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript