jquery .get funktioniert nicht in IE9 gegen Google API

8

Ich kann nicht herausfinden, warum das folgende Bit des Codes in FF perfekt funktioniert, aber nicht in IE9.

Was das Skript macht, ist, dass es per Knopfdruck einige Werte wie Straße, Postleitzahl und Stadt aus einem Formular herausholt, eine Zeichenkette erstellt, diese an Google sendet und den Lat und Long dieser Adresse zurückgibt (und puts das in zwei Felder in der Form)

%Vor%

Die URL, die dieses Skript in diesem Fall einreicht, lautet: = 1363342459585 "& gt; http: //maps.googleapis.com/maps/api/geocode/xml? Adresse = Servicev% C3% A4gen% 207,311% 2033, Falkenberg , Schweden & amp; sensor = false & amp; = 1363342459585

Ich habe versucht, den Cache auf false zu setzen, habe $ .ajax anstelle von $ .get verwendet, indem ich einige Warnungen eingegeben habe, aber ich kann einfach nicht in die $ .get-Funktion

gelangen

Ich habe versucht, den MIME-Typ zu ändern, wie hier vorgeschlagen Ссылка , aber das half nicht weiter.

>

Irgendwelche Ideen jemand?

BEARBEITEN: Habe sogar mit json aus google versucht, ob das Problem im XML liegt, aber das funktioniert auch nicht.

%Vor%     
half-a-nerd 15.03.2013, 10:30
quelle

2 Antworten

6

Da Sie eine domänenübergreifende Anfrage durchführen, muss der Browser dies unterstützen. Die meisten modernen Browser (wie FF und Chrome) unterstützen es, aber IE9 unterstützt es nur, wenn bestimmte Anforderungen erfüllt sind.

Hier ist, worüber Microsoft zu sagen hat es , einschließlich einiger Hinweise darauf, wie es funktioniert (vorausgesetzt, alle Anforderungen, wie auf der Microsoft-Seite erwähnt, können erfüllt werden).

    
robertklep 17.03.2013, 12:43
quelle
1

Haben Sie versucht, crossDomain in Ihren $ .ajax-Parametern auf true zu setzen?

Überprüfen Sie die Referenz hier für die crossDomain: bool param: Ссылка

Es sollte nahtlos zwischen Browsern funktionieren.

Bearbeiten

Nach dem Überprüfen der Quelle von jQuery scheint XDomainRequest nicht erwähnt zu werden (wie ie8 / 9 CORS unterstützt), also bin ich mir nicht sicher, ob es funktioniert. Andernfalls, wenn Sie diese wirklich unterstützen möchten, erstellen Sie einen Wrapper um $ .ajax mit XDomainRequest, wenn browser == ie9 oder ie8.

    
Mathieu Amiot 23.03.2013 17:40
quelle

Tags und Links