Ich habe eine einzelne Seite Web-Anwendung von www.example.com
geliefert. Diese Web-AnwendungenWie kann ich domänenübergreifende Anforderungen mit benutzerdefinierten Headern erstellen, ohne XDomainRequest oder XMLHttpRequest zu verwenden?
- benötigt AJAX-Anforderungen gegen einen anderen Server mit dem Namen
api.example.com
- es muss gesetzt bestimmte Header-Felder wie
Authorization
zu machen, wenn Anfragen anapi.example.com
- es muss kompatibel sein mit den letzten und nicht so neu zu senden Browser (zB Internet Explorer> = 8)
All dies funktioniert durch CORS-Anfragen auf api.example.com mit Chrome (und anderen aktuellen WebKit-basierten Browsern) mit XMLHttpRequest
Handhabung. IE older than version 10 implementiert nicht CORS für XMLHttpRequest
und stellt stattdessen das nicht standardmäßige Objekt XDomainRequest
für domänenübergreifende Anforderungen bereit. Aber XDomainRequest
implementiert keinen Weg zu set HTTP header Felder.
Also meine Frage ist: Wie kann ich domänenübergreifende Anfragen mit benutzerdefinierten Kopfzeilen machen, ohne XDomainRequest
oder XMLHttpRequest
zu verwenden? Was ist die Best Practice-Problemumgehung?
Edit: Ich habe die Kontrolle über alle beteiligten Server (* .example.com).
Das ist richtig. Sie könnten jedoch immer einen iframe und 'postMessage' verwenden. – idbehold
Also ich nehme an es gibt mindestens einen anderen Weg :) –
Ich hatte keine Ahnung wie eine sinnvolle Methode wie postMessage existiert, also danke @idbehold. Sie müssen die Kontrolle über api.example.com haben, da Sie den iframe-Inhalt in diese Domäne einfügen müssen. Auch scheint es, dass Sie nur Zeichenfolgen mit postMessage in IE senden können. –