Was ist Cross-Domain? Cross-Domain, wenn der Browser keine Skripte von anderen Webseiten ausführen kann. Sie wird durch die homologe Richtlinie des Browsers verursacht, eine Sicherheitsbeschränkung, die der Browser auf Javascrip{filter}t auferlegt hat.
Das sogenannte homolog bedeutet, dass Domainname, Protokoll und Port alle gleich sind, es spielt keine Rolle, ob Sie es nicht verstehen, geben Sie ein Beispiel:
http://www.itsvse.com/index.htmlanrufenhttp://www.itsvse.com/server.PHP(Nicht-domänenübergreifend)
http://www.itsvse.com/index.htmlRuf http://www.456.com/server.php auf (andere Hauptdomäne: itsvse/456, domänenübergreifend)
Der Hyperlink-Login ist sichtbar.anrufenDer Hyperlink-Login ist sichtbar.(Unterdomäne verschieden: abc/def, domänenübergreifend)
http://www.itsvse.com:8080/index.html 调用 http://www.itsvse.com:8081/server.php (端口不同:8080/8081,跨域)
http://www.itsvse.com/index.htmlAufruf https://www.itsvse.com/server.php (verschiedene Protokolle: http/https, Cross-Domain)
Bitte beachten Sie: localhost und 127.0.0.1 zeigen zwar beide auf local, sind aber ebenfalls domänenübergreifend.
Wenn der Browser das javascrip{filter}t-Skript ausführt, prüft er, zu welcher Seite das Skript gehört, und wenn es keine homologe Seite ist, wird es nicht ausgeführt.
Lösung:
1、JSONP:
Ich werde nicht ins Detail gehen, wie man es verwendet, aber es sollte beachtet werden, dass JSONP nur GET-Anfragen unterstützt, nicht POST-Anfragen.
2. Agent:
Zum Beispielwww.itsvse.com/index.htmlWenn du www.456.com/server.php aufrufen musst, kannst du eine Schnittstelle schreibenwww.itsvse.com/server.phpDiese Schnittstelle ruft das www.456.com/server.php im Backend auf, erhält den Rückgabewert und gibt ihn dann an das index.html zurück, das ein Proxy-Muster ist. Es entspricht dem Umgehen der Browserseite, daher gibt es natürlich kein Cross-Domain-Problem.
3. Ändern Sie den Header auf der PHP-Seite (XHR2-Methode)
Füge die folgenden zwei Sätze zum PHP-Schnittstellenskript hinzu: Header('Access-Control-Allow-Origin:*'); Zugriff von allen Quellen erlauben header('Access-Control-Allow-Method:POST,GET'); Möglichkeiten, den Zugang zu ermöglichen
|