So I've been banging my head against the keyboard here for a while, and finally managed to boil this strange behavior down to its core.
It seems that in Chrome, when you make a JSONP request using JQuery.ajax() and the server returns a 404, none of the callbacks get called. Callbacks supplied to neither fail(), always() or done() are called.
In IE10 the callbacks are called as expected.
Simple example (which you can also check out in this fiddle:
$.ajax("https://www.google.com/notexists",
{
dataType: "jsonp",
}
).always(function ()
{
alert("Call ended."); // This never gets called in Chrome!
});
I'm using jQuery 1.9.1.
Is anybody else seeing this behavior? Is there any other explanation for it than this being a bug in jQuery?