Frage

Ich bin daran interessiert, herauszufinden, welcher minimale browserübergreifende Javascript-Code (jQuery ist auch in Ordnung) möglich sein könnte, um zu überprüfen, ob eine Website, die ich domänenübergreifende AJAX-Anfragen senden möchte, Unterstützung bietet CORS.

Ich weiß, dass jQuery eine Methode hat, um zu überprüfen, ob der Browser unterstützt es.Aber ich würde wirklich gerne überprüfen können, ob der entfernte Standort unterstützt es auch.

Ich dachte, ich müsste nur nach einem HTTP-Header suchen, aber natürlich löst XHR eine Ausnahme aus, wenn versucht wird, eine domänenübergreifende Anfrage an eine Site zu senden, die dies nicht ausdrücklich unterstützt.

Aber gibt es eine Möglichkeit zu überprüfen, ob eine Ausnahme ausgelöst wurde? XMLHttpRequest lag daran, dass die Website dies nicht unterstützte CORS anstatt dass etwas anderes schief geht?(Es muss XDomainRequest nicht unterstützen.)

Auf jeden Fall bin ich mir nicht sicher, wie ich eine Datei am besten mit minimalem/schnellstem Cross-Browser abrufen kann HTTP HEAD Verwenden von AJAX, was meiner Meinung nach die einfache Methode ist, anstatt eine Seite usw. abzurufen.

Anwendungsfall:Sobald ich weiß, ob der Browser und der AJAX-Anbieter dies unterstützen CORS oder nicht, ich kann wählen, ob ich die funktionsreicheren senden möchte JSON/CORS Anfragen oder Rückgriff auf JSONP Anfragen bei Bedarf.

War es hilfreich?

Lösung

Soweit das Spezifikation, es ist nicht möglich.

Wenn ein Netzwerkfehler vorliegt:Bei DNS -Fehlern, TLS -Verhandlungsfehler oder anderen Art von Netzwerkfehlern wenden die Netzwerkfehlerschritte an.Fordern Sie keinerlei Interaktion mit dem Endbenutzer an ...

Ansonsten:Führen Sie eine Überprüfung der Ressourcenfreigabe durch.Wenn ein Fehler auftritt, befolgen Sie die Schritte zum Netzwerkfehler ...

Es gibt keine spezielle Möglichkeit, den Fall zu identifizieren, in dem CORS nicht zulässig ist, da Netzwerkfehlerschritte werden in jedem Fall angewendet.

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