5

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 an api.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).

Antwort

1

Ich fürchte, es gibt keinen anderen Weg, als einen Proxy für diese Anfrage auf der Serverseite Ihrer Anwendung zu implementieren. An example.

+3

Das ist richtig. Sie könnten jedoch immer einen iframe und 'postMessage' verwenden. – idbehold

+0

Also ich nehme an es gibt mindestens einen anderen Weg :) –

+0

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. –