Decorator to take away repetitive code
You should use the functools.wraps function, it makes sure the docstring/name/etc gets passed through
Instead of "ajax not supported" shouldn't it be: "only ajax supported"?
Shouldn't you respond with a Status Code 400 or something if not using ajax when you should be
Why do you want to check this? What's the point of enforcing ajax calls, won't that just make testing harder?