Commit c0537a96 authored by Malcolm Tredinnick's avatar Malcolm Tredinnick
Browse files

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
parent c01e6b85
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -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
+3 −0
Original line number Diff line number Diff line
@@ -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
+17 −0
Original line number Diff line number Diff line
@@ -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
-----------------