summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMalcolm Tredinnick <malcolm.tredinnick@gmail.com>2008-03-20 07:16:16 +0000
committerMalcolm Tredinnick <malcolm.tredinnick@gmail.com>2008-03-20 07:16:16 +0000
commitc0537a961fcf412ff284a838e4394fc537c14dcf (patch)
tree1a6e0de27ea706a9161975e445f407d0ac1b3c59
parentc01e6b852ab652e9ba3f7d3ac43cd5d20802a215 (diff)
Fixed #6616 -- Added an is_ajax() method to HttpRequest that uses the de facto
standard header for detecting an XmlHttpRequest call. Thanks, Daniel Lindsley. git-svn-id: http://code.djangoproject.com/svn/django/trunk@7334 bcc190cf-cafb-0310-a4f2-bffc1f526a37
-rw-r--r--AUTHORS1
-rw-r--r--django/http/__init__.py3
-rw-r--r--docs/request_response.txt17
3 files changed, 21 insertions, 0 deletions
diff --git a/AUTHORS b/AUTHORS
index 947b750289..2329c8b86b 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -245,6 +245,7 @@ answer newbie questions, and generally made Django that much better:
michael.mcewan@gmail.com
michal@plovarna.cz
Mikko Hellsing <mikko@sorl.net>
+ Daniel Lindsley <polarcowz@gmail.com>
Orestis Markou <orestis@orestis.gr>
Slawek Mikula <slawek dot mikula at gmail dot com>
mitakummaa@gmail.com
diff --git a/django/http/__init__.py b/django/http/__init__.py
index 5439aa6c63..7faa3c875e 100644
--- a/django/http/__init__.py
+++ b/django/http/__init__.py
@@ -82,6 +82,9 @@ class HttpRequest(object):
def is_secure(self):
return os.environ.get("HTTPS") == "on"
+ def is_ajax(self):
+ return self.META.get('HTTP_X_REQUESTED_WITH') == 'XMLHttpRequest'
+
def _set_encoding(self, val):
"""
Sets the encoding used for GET/POST accesses. If the GET or POST
diff --git a/docs/request_response.txt b/docs/request_response.txt
index 4dcdf10adf..0e0f046a2d 100644
--- a/docs/request_response.txt
+++ b/docs/request_response.txt
@@ -199,6 +199,23 @@ Methods
Returns ``True`` if the request is secure; that is, if it was made with
HTTPS.
+``is_ajax()``
+ **New in Django development version**
+
+ Returns ``True`` if the request was made via an XMLHttpRequest by checking
+ the ``HTTP_X_REQUESTED_WITH`` header for the string *'XMLHttpRequest'*. The
+ following major Javascript libraries all send this header:
+
+ * jQuery
+ * Dojo
+ * MochiKit
+ * MooTools
+ * Prototype
+ * YUI
+
+ If you write your own XMLHttpRequest call (on the browser side), you will
+ have to set this header manually to use this method.
+
QueryDict objects
-----------------