Javascript Django-Ajax调用不输出任何内容

Javascript Django-Ajax调用不输出任何内容,javascript,jquery,django,ajax,Javascript,Jquery,Django,Ajax,在我的项目中,如果表单无效,我使用AJAX向用户返回消息,而用户无需刷新页面 我进行了AJAX调用,但是结果并不是预期的: HTML表单: <div id="testDiv"> </div> $('#signupForm input[type=text]').keyup(function() { var usernameField = $('#usernameField').val(); // Retrieved from SignUp

在我的项目中,如果表单无效,我使用AJAX向用户返回消息,而用户无需刷新页面

我进行了AJAX调用,但是结果并不是预期的:

HTML表单

  <div id="testDiv">

  </div>
$('#signupForm input[type=text]').keyup(function() {
            var usernameField = $('#usernameField').val(); // Retrieved from SignUpForm in forms.py, and has id of usernameField
            var emailField = $('#emailField').val(); // Retrieved from SignUpForm in forms.py, and has id of emailField
            var passwordField = $('#passwordField').val(); // Retrieved from SignUpForm in forms.py, and has id of passwordField
            var confirmPasswordField = $('confirmPasswordField').val(); // Retrieved from SignUpForm in forms.py, and has id of confirmPasswordField

            $.ajax({
                url: '/users/signupval/',
                data: {
                    'usernameField': usernameField,
                    'emailField': emailField,
                    'passwordField': passwordField,
                    'confirmPasswordField': confirmPasswordField,
                },
                dataType: 'json',
                success: function(data) {
                    $('#testDiv').text(data['message']);
                    console.log("Worked!")
                },
                error: function(err) {
                    console.log(err)
                }
            })
        })
def signupval(request):
    form = SignUpForm(request.GET)
    if form.is_valid():
        usernameField = form.cleaned_data.get('usernameField')
        emailField = form.cleaned_data.get('emailField')
        passwordField = form.cleaned_data.get('passwordField')
        confirmPasswordField = form.cleaned_data.get('confirmPasswordField')

        if len(usernameField) > 7:
            return JsonResponse({'message': 'Username field > 7'})
        elif len(emailField) > 5:
            return JsonResponse({'message': 'Email field > 7'})
        elif len(passwordField) > 6:
            return JsonResponse({'message': 'Password field > 7'})
        elif len(confirmPasswordField) > 6:
            return JsonResponse({'message': 'Password field > 7'})
    else:
        return JsonResponse({'error': 'Something Failed. Please try again'})
视图.py

  <div id="testDiv">

  </div>
$('#signupForm input[type=text]').keyup(function() {
            var usernameField = $('#usernameField').val(); // Retrieved from SignUpForm in forms.py, and has id of usernameField
            var emailField = $('#emailField').val(); // Retrieved from SignUpForm in forms.py, and has id of emailField
            var passwordField = $('#passwordField').val(); // Retrieved from SignUpForm in forms.py, and has id of passwordField
            var confirmPasswordField = $('confirmPasswordField').val(); // Retrieved from SignUpForm in forms.py, and has id of confirmPasswordField

            $.ajax({
                url: '/users/signupval/',
                data: {
                    'usernameField': usernameField,
                    'emailField': emailField,
                    'passwordField': passwordField,
                    'confirmPasswordField': confirmPasswordField,
                },
                dataType: 'json',
                success: function(data) {
                    $('#testDiv').text(data['message']);
                    console.log("Worked!")
                },
                error: function(err) {
                    console.log(err)
                }
            })
        })
def signupval(request):
    form = SignUpForm(request.GET)
    if form.is_valid():
        usernameField = form.cleaned_data.get('usernameField')
        emailField = form.cleaned_data.get('emailField')
        passwordField = form.cleaned_data.get('passwordField')
        confirmPasswordField = form.cleaned_data.get('confirmPasswordField')

        if len(usernameField) > 7:
            return JsonResponse({'message': 'Username field > 7'})
        elif len(emailField) > 5:
            return JsonResponse({'message': 'Email field > 7'})
        elif len(passwordField) > 6:
            return JsonResponse({'message': 'Password field > 7'})
        elif len(confirmPasswordField) > 6:
            return JsonResponse({'message': 'Password field > 7'})
    else:
        return JsonResponse({'error': 'Something Failed. Please try again'})

message属性被传递回AJAX,我想在我拥有的div(testDiv)中显示message,但是div是空的,没有文本。我知道正在调用success函数,因为在通过Chrome的Javascript控制台中,我看到了`console.log(“Worked!”)。有人知道为什么没有显示消息的问题吗?谢谢。

您在每次按键时都会调用Ajax吗?为什么你不只是在客户机上进行验证?使用console.log调试,查看发送到服务器的内容,返回的内容(网络选项卡)@epascarello这是什么意思?@epascarello每次用户在我的表单中键入内容时,我都会检查它是否符合要求?除了这个,你还有什么选择呢?一个快速的打字机会同时发出大量的http请求。这是个坏主意。您有检查长度的基本验证,它应该在客户端和服务器端完成。HTML5验证很容易连接@epascarello No。检查长度功能只是为了测试AJAX。稍后我将用其他东西替换它,我只是想确保AJAX正常工作。