Search code examples
javascriptjqueryjquery-callback

jQuery ajax callback never called


Javascript code, using jQuery 1.7:

$( function() { 
  $.get('/ajax_dummy', function() { alert('foo');  })
});

With Firebug I can see that the HTTP GET request is sent and a "hello world" response with code 200 is returned, so everything seems fine. But the callback is never called.

I have no idea what is wrong; this should be so simple, right?


Solution

  • You are not providing dataType so jQuery makes an "intelligent guess" of what the content type is from the response Content-Type header which you said is application/json.

    So jQuery treats the response as JSON which means it will try to automagically parse it as so, causing an error.

    Because the request causes an error

    $.parseJSON( "hello world" );
    "Invalid JSON: hello world"
    

    the success callback won't obviously be fired.