# How do I recognize AJAX requests

**URL:** <https://www.ruby-forum.com/t/how-do-i-recognize-ajax-requests/104502>\
**Category:** Rails\
**Created:** [May 18, 2007, 7:08pm UTC](https://www.ruby-forum.com/t/how-do-i-recognize-ajax-requests/104502 "2007-05-18T19:08:54Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![helzer](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/h/e19b73/32.png) [@helzer](https://www.ruby-forum.com/u/helzer)\
**Post date:** [May 18, 2007, 7:08pm UTC](https://www.ruby-forum.com/t/how-do-i-recognize-ajax-requests/104502/1 "2007-05-18T19:08:54Z")

</div>

Is there any way I can recognize that a request is an AJAX  
(something\_remote\_xxx) request?

My application saves the pages history and needs to filter out the  
AJAX requests. What I do is keep a list of AJAX actions and filter  
them from my history list, but I always forget to update this list.

So, is there any way I can detect that a request is an AJAX one from  
the request parameters?

Thanks,  
Amir

---

<div class="post-metadata">

**Author:** ![helzer](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/h/e19b73/32.png) [@helzer](https://www.ruby-forum.com/u/helzer)\
**Post date:** [May 18, 2007, 7:12pm UTC](https://www.ruby-forum.com/t/how-do-i-recognize-ajax-requests/104502/2 "2007-05-18T19:12:54Z")

</div>

helzer [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> So, is there any way I can detect that a request is an AJAX one from  
> the request parameters?

Yup,

if request.xhr?  
# this is an AJAX request  
else  
# this isn’t an AJAX request  
end

Cheers,  
Tyler

---

<div class="post-metadata">

**Author:** ![helzer](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/h/e19b73/32.png) [@helzer](https://www.ruby-forum.com/u/helzer)\
**Post date:** [May 18, 2007, 7:26pm UTC](https://www.ruby-forum.com/t/how-do-i-recognize-ajax-requests/104502/3 "2007-05-18T19:26:56Z")

</div>

That’s the old way. You’re now supposed to do:

respond\_to do |wants|  
wants.html { … } # normal request  
wants.js { … } # Ajax request  
…  
end

[http://api.rubyonrails.org/classes/ActionController/MimeResponds/InstanceMethods.html#M000080](http://api.rubyonrails.org/classes/ActionController/MimeResponds/InstanceMethods.html#M000080)

Jason

---

<div class="post-metadata">

**Author:** ![helzer](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/h/e19b73/32.png) [@helzer](https://www.ruby-forum.com/u/helzer)\
**Post date:** [May 23, 2007, 4:21pm UTC](https://www.ruby-forum.com/t/how-do-i-recognize-ajax-requests/104502/4 "2007-05-23T16:21:18Z")

</div>

Thanks,

Works great.

Amir

---

<div class="post-metadata">

**Author:** ![helzer](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/h/e19b73/32.png) [@helzer](https://www.ruby-forum.com/u/helzer)\
**Post date:** [May 18, 2007, 7:30pm UTC](https://www.ruby-forum.com/t/how-do-i-recognize-ajax-requests/104502/5 "2007-05-18T19:30:56Z")

</div>

Amir,

Try:

if request.xhr?  
…  
end

Herry
