[Answer]-How to send simply ajax-request?

1👍

You need to send CSRF token as well in your request.

From your view pass csrf token to template that will generate your web page, then pass that csrf token back with your ajax call,so that django recognises you as valid connection.

Javascript

$(function() {
  $("#test").click(function() {
    $.ajax({
        url: "/xhr_test",
        type: 'POST',
        dataType:"json",
        data: {
            "phone": 1,
            "skype": 2,
            "other": 3,
            "csrfmiddlewaretoken": '{{ csrf_token }}'
        },
        error: function() {
            alert('Ошибка получения запроса');
        },
        success: function(data) {
            alert('ajax worked' + data);
        }
    }); 
  });
}); 

HTML template

{% csrf_token %}
<p><a id="test">Hello</a></p>

views.py

def xhr_test(request):
    if request.is_ajax():
        phone = request.POST['phone']
    data_to_send = {}
    data_to_send.update({'data':phone})
    return HttpResponse(simplejson.dumps(data_to_send),content_type="application/json") 
👤g4ur4v

0👍

you need to include the csrfmiddlewaretoken in your ajax call.

$(function() {
  $("#test").click(function() {
    $.ajax({
        url: "/xhr_test/",
        type: 'POST',
        dataType: "html",
        data: {
            csrfmiddlewaretoken: "{{csrf_token}}",
            phone: 1,
            skype: 2,
            other: 3,
        },
        error: function() {
            alert('Ошибка получения запроса');
        },
        success: function(data) {
            alert('ajax worked' + data);
        }
    }); 
  });
}); 

Leave a comment