AJAX


urls.py - /path/projectdir/theapp
path('ajax-test', views.ajax_test, name='ajax_test'),
path('ajax-test-post', views.ajax_test_post, name='ajax_test_post'),

ajax-test.html - /path/projectdir/theapp/templates
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script>
function sendForm() {
    var formData = jQuery('#form1').serialize();
    jQuery.ajax({
        type: 'POST',
        url: "/ajax-test-post",
        data: formData,
        success: function(response) { console.log(response); }, 
        error: function(XMLHttpRequest, textStatus, errorThrown) { console.log("error"); }
    });  
} 
</script>

<form id="form1" name="form1" method="post" onsubmit="sendForm(); return false;">
    {% csrf_token %}
    <input name="email" />
</form>

views.py - /path/projectdir/theapp
def ajax_test(request): 
    return render(request, 'templates-forms/ajax-test.html', { 'title': 'AJAX Test' } )

def ajax_test_post(request): 
    return HttpResponse(request.POST['email'] + ' - ' + request.POST['csrfmiddlewaretoken'])



AJAX Test