Ayaz Ur Rashid
Ayaz Ur Rashid

Reputation: 259

Django How to check a request is Ajax

The HttpRequest.is_ajax() method is deprecated as it relied on a jQuery-specific way of signifying AJAX calls, while current usage tends to use the JavaScript Fetch API. Depending on your use case, you can either write your own AJAX detection method or use the new HttpRequest.accepts() method if your code depends on the client Accept HTTP header.

Upvotes: 6

Views: 5770

Answers (2)

Ayaz Ur Rashid
Ayaz Ur Rashid

Reputation: 259

If you are writing your own AJAX detection method, request.is_ajax() can be reproduced exactly as

if request.headers.get('X-Requested-With') == 'XMLHttpRequest':
    is_ajax = True
else:
    is_ajax = False

Upvotes: 4

Dimitris Kougioumtzis
Dimitris Kougioumtzis

Reputation: 2439

def is_ajax(request):
  return request.headers.get('x-requested-with') == 'XMLHttpRequest'

Upvotes: 7

Related Questions