2012-04-15 12 views
2

Ich habe Probleme beim Debuggen der AJAX-Anfrage. (Es ist async weil es ein Tunnel ist)IE spezifische AJAX Zugriffsproblem

Wie auch immer, es funktioniert gut in Chrome und Firefox, aber scheitert zumindest in IE8/9.

var responseA = ''; 

$.ajax({ 
    type: 'GET', 
    url: 'http://pipes.yahooapis.com/pipes/pipe.run?_id=xxxxxx&url=http%3A%2F%2Fwww.rottentomatoes.com%2Fm%2Fthe_hunger_games%2F&_render=json', 
    async: true, 
    dataType: 'json', 
    success: function(text) { 
     responseA = text; 
    }, 
    error: function(jqXHR, textStatus, errorThrown) { 
     console.log(errorThrown); 
    } 
}); 

console.log(responseA);​ 

errorThrown wirft LOG: No Transport

versuchte ich $.support.cors = true;

Hinzufügen zu versuchen, alle Cross-Domain-Probleme zu beheben, aber jetzt bekomme ich

LOG: Error: Access is denied. (nur in IE), was gibt?

+0

Wenn Sie verwenden möchten, Bei domainübergreifenden AJAX-Anfragen müssen Sie einen 'dataType' von' jsonp' anstelle von 'json' angeben. –

+0

Ich lese, dass mit 'async' nicht funktionieren wird – Chamilyan

Antwort

1

Internet Explorer 8 (und unten) nicht unterstützen CORS, und Sie haben ihre Anfragen an den Proxy (via PHP-Skript auf der gleichen Domäne, die das Remote-Skript ruft und gibt den Ausgang)