jQuery.getJSON not working properly in IE8 with gdata json-c. Why?

producerism picture producerism · Jun 12, 2011 · Viewed 7.6k times · Source

Using jQuery:

$.getJSON('http://gdata.youtube.com/feeds/api/videos/b2-5GSjZvW8?v=2&alt=jsonc', function(meta){alert(meta.data.title);});

Firefox and Chrome both work as expected, but IE keeps triggering the error function (when using $.ajax) instead of success. The error status is "0" which doesn't help much.

I've also tried using $.ajax with cache:false to no avail.

Any ideas?

Answer

Dr.Molle picture Dr.Molle · Jun 12, 2011

I can't tell you if it's an error in jquery or IE, but it looks like the XDomainRequest fails in IE. Add this to the URL:

&callback=?

...so the response will be handled as jsonp.

Edit: It looks like Microsoft's XDOmainRequest is not implemented in jQuery, so you can't run Cross-Domain-Requests in jQuery using IE(except jsonp)