aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack
diff options
context:
space:
mode:
authorDavid Heinemeier Hansson <david@loudthinking.com>2005-04-17 16:40:53 +0000
committerDavid Heinemeier Hansson <david@loudthinking.com>2005-04-17 16:40:53 +0000
commit95e6c03de7cd52a426560a6c46bd08b1791d7022 (patch)
tree8fe6ae30ae5e3fe48e6c306d6a214894dd7bc39d /actionpack
parent7cda49248b5269b1aaf96729a31f85a315fbb764 (diff)
downloadrails-95e6c03de7cd52a426560a6c46bd08b1791d7022.tar.gz
rails-95e6c03de7cd52a426560a6c46bd08b1791d7022.tar.bz2
rails-95e6c03de7cd52a426560a6c46bd08b1791d7022.zip
Added Request#xml_http_request? (and an alias xhr?) to that'll return true when the request came from one of the Javascript helper methods (Ajax). This can be used to give one behavior for modern browsers supporting Ajax, another to old browsers #1127 [Sam Stephenson]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1194 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
Diffstat (limited to 'actionpack')
-rw-r--r--actionpack/CHANGELOG2
-rwxr-xr-xactionpack/lib/action_controller/request.rb8
2 files changed, 10 insertions, 0 deletions
diff --git a/actionpack/CHANGELOG b/actionpack/CHANGELOG
index 42c811a287..338542b3db 100644
--- a/actionpack/CHANGELOG
+++ b/actionpack/CHANGELOG
@@ -1,5 +1,7 @@
*SVN*
+* Added Request#xml_http_request? (and an alias xhr?) to that'll return true when the request came from one of the Javascript helper methods (Ajax). This can be used to give one behavior for modern browsers supporting Ajax, another to old browsers #1127 [Sam Stephenson]
+
* Deprecated the majority of all the testing assertions and replaced them with a much smaller core and access to all the collections the old assertions relied on. That way the regular test/unit assertions can be used against these. Added documentation about how to use it all.
* Fixed DateHelper to return values on the option tags such that they'll work properly in IE with form_remote_tag #1024 [rscottmace@gmail.com]
diff --git a/actionpack/lib/action_controller/request.rb b/actionpack/lib/action_controller/request.rb
index 6e73a69ed7..032b19d6eb 100755
--- a/actionpack/lib/action_controller/request.rb
+++ b/actionpack/lib/action_controller/request.rb
@@ -122,6 +122,14 @@ module ActionController
@path_parameters ||= {}
end
+ # Returns true if the request's "X-Requested-With" header contains
+ # "XMLHttpRequest". (The Prototype Javascript library sends this header with
+ # every Ajax request.)
+ def xml_http_request?
+ env['HTTP_X_REQUESTED_WITH'] =~ /XMLHttpRequest/i
+ end
+ alias xhr? :xml_http_request?
+
#--
# Must be implemented in the concrete request
#++