Frage

Ich benutze das Modell von Backbone.js. Wenn ich das Modell speichere, sendet es die HTTP-Optionsmethode an serverseitig auf Firefox, sendet jedoch die HTTP-Postmethode mit Safari.

Ich weiß, dass es kein Problem mit Backbone.js ist, es geht um CORS. Ich werde nur prüfen, ob die Methode, erhalten, posten, setzen und auf der Server-Seite löschen. Ich werde keinen Job bei der HTTP-Optionsmethode machen.

Meine angeforderte URL ist meine API: api.foo.com und API angefordert von: bar.com

Wie kann ich also in allen Browsern steuern, um meine api.foo.com mit HTTP Post NOT -Optionen anzufordern? Und wie kann ich den Inhalt von API.FOO.com mit allen Anfragen von anderen Domänen teilen?

Hinweis: Ich habe bereits die Header von Response von der Server-Seite zu: Zugriffskontroll-Owl-Origin: * geändert: *

War es hilfreich?

Lösung

Die Optionsanfrage ist tatsächlich die sogenannte Preflight -Anfrage der CORS -Spezifikation. Diese Anforderung vor dem Flug wird von Webbrowsern verwendet, um zu überprüfen, unter welchen Bedingungen der Server eine Anfrage aus dem jeweiligen Ursprung annehmen würde. Wenn die Antwort auf die Anfrage vor dem Flug erfüllt war, sendet der Browser die tatsächliche Anfrage.

Um diese Spezifikation einzuhalten, benötigen Sie Ihren Server, um die zu reproduzieren Schritte der Verarbeitung von Vorfilsanforderungen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top