Ruddra.com

Sample Ajax GET/POST Request in Django

Sample Ajax GET/POST Request in Django

Let us make a test scenario here: A dropdown field which on change we are going to send a Get/Post request to Django and return response.

Let us start coding….

HTML code

<select id="select_dropdown">
  <option value="joshua">joshua</option>
  <option value="peter">peter</option>
  .... ....
</select>

Create an Ajax request

Let’s make an Ajax request after the change in the dropdown field.

$(document).ready(function () {
  $("#select_dropdown").change(function () {
    var e = document.getElementById("select_dropdown");
    var value = e.options[e.selectedIndex].value;

    $.ajax({
      url: "your-url",
      type: "post", // or "get"
      data: value,
      headers: { "X-CSRFToken": "{{ csrf_token }}" }, // for csrf token
      success: function (data) {
        alert(data.result);
      },
    });
  });
});

Handle AJAX request in django view

Here on change of a post request is called. Now let’s handle the view.

from django.http import JsonResponse
def post(request):
    if request.method == "POST": #os request.GET()
        get_value= request.body
        # Do your logic here coz you got data in `get_value`
        data = {}
        data['result'] = 'you made a request'
        return HttpResponse(json.dumps(data), content_type="application/json")

Thats all.

In conclusion

Above code should work both GET and POST methods. If you have any questions, please share in comments section below.

Last updated: Apr 05, 2024


← Previous
Using IntellijIdea/Pycharm Within An Exisiting Virtualenv

Adding virtual environment in PyCharm/Intellij IDEA for older and newer versions

Next →
Working with Formsets

This post is deprecated and may not be useful. As django documentation says: A formset is a layer …

Share Your Thoughts
M↓ Markdown