Coding with Jesse

Hidden Ajax Errors with jQuery

July 4th, 2007

If you use Ajax with jQuery, you may have noticed that you don't get any error messages when things go wrong. Even if you have major bugs in your callback functions, jQuery just silently fails, sweeping any errors under the rug, and leaving you clueless as to what just happened.

For example, you can do this and you won't get any errors:

$.get('page.html', function(){

There are two ways to fix this. You can use $.ajax with the error parameter, passing an error handling function for that particular Ajax call. Or, you can define a global Ajax error handler. If you do a lot of Ajax, and you use Firebug, the latter is a great option. Try this:

    if (window.console && window.console.error) {

After running this code, you'll start getting error messages in your Firebug console (if anything breaks with your Ajax calls or callbacks). The error messages aren't the greatest, but at least you don't have to stay in the dark any longer.


1 . Jörn Zaefferer on July 6th, 2007

Jörn Zaefferer

That's a great tip. That generic error handler inside jQuery's ajax method can be quite annoying otherwise. I wonder if these two lines should go into jQuery core...

2 . Andy Cai on July 11st, 2007

Andy Cai

like the jquery.

3 . jonnix on November 8th, 2007


Thank you very much. This tip helped me find an error I have been guessing for during 2 days.

4 . Acronyms on April 2nd, 2008


I used similar way, put creating a separate function.

5 . colin on May 8th, 2008


Thank you, this idea just saved me a lot of guess work

6 . Braden on May 14th, 2008


I'm confused--this doesn't seem to work with 1.2.3. Did they at one point try { success() } catch() { handleError(); }? I know Dojo does that, but I don't see it in 1.2.3 or 1.0.0.

7 . Mat on July 27th, 2008


Thanks for the tip :)

8 . Vlad on September 2nd, 2008


Thank you!

9 . LaPeGa on November 26th, 2008



10 . Ramiro on March 6th, 2009


Great Tip!!! specially the debug to console using firebug. Thanks

11 . zoltantoth on May 10th, 2009


his is exactly what I was searching for. You could not explain it simplier.

Thank you.

I would draw your attention to the error in the comment engine:
If I use a single quote, you are double escape-ing it, so it throws an SQL error, so the shortened "could not" will not work.

12 . xxx on August 30th, 2010


that was great tip - thanks

Comments are closed, but I'd still love to hear your thoughts.